IOS开发这些年碰到的坑

一、【ios 8 致命bug】

描述:做了一个类似动态的列表,Cell的高度需要自适应。应用到了masory进行相对布局。UI有一个小小的要求,就是Cell左右需要margin 10px,当时为了方便就在layoutsubview里对Cell的ContentView.frame 进行调整,代码如下:

-(void)layoutSubviews

{

[super layoutSubviews];

CGRect rect = self.contentView.frame;

rect.origin.x = 5;

rect.size.width -=10;

self.contentView.frame = rect;

}

就是这部分不起眼的代码,导致了一个致命的bug。

分析:利用masory进行布局没问题,layoutsubview 里进行ContentView.frame 改变也没问题,但是两种情况掺杂在一起用,一般也没问题。但是只要出现在ios 8 系统就会导致死循环调用,最终卡死。应用是IOS 8 上autolayout 与layoutSubviews 循环调用,导致内存10m递增,最后卡死。

最后把layoutsubview中改变ContentView.frame的代码去掉,就解决这个问题了。😢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容