1.要重写UIView的initWithFrame:方法而不是init方法
当初始化时重写了init方法,而调用了initWithFrame初始化UIView就是无用的。
当初始化时重写了initWithFrame方法,无论调用init还是initWithFrame都没有问题。
因为init方法会饮食的调用initWithFrame方法
2.tableView的自定义cell初始化方法中不要布局
因为这时是取不到真实frame的,会是默认的{320,44},
那么在哪里布局呢
重写layoutSubviews方法
- (void)layoutSubviews {
// 一定要调用super的方法
[super layoutSubviews];
//布局
}
3.新手慎用懒加载
好多时候出现一些bug就是由于这个东西,不是_object写成了self.object就是if(!_object)写成了if(_object),导致发生一些我们不想要的结果。