摘要: 转自:http://blog.sina.com.cn/s/blog_45e2b66c01014yuz.htmllayoutSubviews在以下情况会被调用:1、init初始化不会触发layoutSubviews;但是是用initWithFrame进行初始化时,当rect的值不为CGRectZero时,也会触发;2、addSubview会触发layoutSubviews;3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化;4、滚动一个UIScrollView会触发layoutSubviews;5、旋转Screen会触发父UIView上的l 阅读全文
posted @ 2013-07-31 18:24 童话DY 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/bsplover/article/details/7978657__bridge只做类型转换,但是不修改对象(内存)管理权;__bridge_retained(也可以使用CFBridgingRetain)将Objective-C的对象转换为Core Foundation的对象,同时将对象(内存)的管理权交给我们,后续需要使用CFRelease或者相关方法来释放对象;__bridge_transfer(也可以使用CFBridgingRelease)将Core Foundation的对象转换为Objective-C的对象,同时将对象(内存)的管理权交 阅读全文
posted @ 2013-07-31 15:07 童话DY 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如果你手动创建view,你应该重载这个函数。如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数。这个方法的默认实现是这样的:先寻找有关可用的nib文件的信息,根据这个信息来加载nib文件,如果没有有关nib文件的信息,默认实现会创建一个空白的UIView对象,然后让这个对象成为controller的主view。所以,重载这个函数时,你也应该这么做。 阅读全文
posted @ 2013-07-31 14:16 童话DY 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 在iOS4和iOS5系统中,当内存不足,应用收到Memory warning时,系统会自动调用当前没在界面上的ViewController的viewDidUnload方法。在iOS6中,viewDidUnload回调方法被Deprecated掉了,将回收内存的相关操作移到didReceiveMemoryWarning 中.iOS6不推荐你在didReceiveMemoryWarning中将view置为nil。原因:CALayer是一个bitmap图象的容器类,当UIView调用自身的drawRect时,CALayer才会创建这个bitmap图象类。具体占内存的其实是一个bitmap图象类,CA 阅读全文
posted @ 2013-07-31 14:05 童话DY 阅读(384) 评论(0) 推荐(0) 编辑