IOS开发:UI开发中一些易错场景总结(持续更新)

1、UITableView:DataSource为空时更新会引起崩溃。

2、UIBeginUpdate/UIEndUpdate函数之间  调用insert/delete 其对应数据源改动也必须在Begin/End之间、否则崩溃。

3、UIScrollView在setContentOffset:xxx ani:YES 时 退出时会引起崩溃。需要在dealloc里设置scrollView.delegate = nil;

4、IOS7下TabeViewCell的ContentView由ScrollView包裹导致其中的View不能接收到GestureRecognizer。可以在IOS7时自定义一个ContentView?

5、优化性能时,可能会开启CALayer.shouldRasterize 来缓存绘制比较慢的层(例如圆角),但在retina屏幕上会引起图片不清晰,需要设置self.layer.rasterizationScale = [UIScreen mainScreen].scale; 

6、加阴影的时候,其子View需要有背景色,如果没有看不到阴影,阴影只给有颜色的区域描边(如果是文字,则是不规则大小),所以建议指定阴影的path(会提高渲染效率)。 (当子View是StackView时,容易引起bug,因为StackView是没有背景色的)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注