小子给大家分享一个或者多个新手创建tableview经常会遇到的坑(动态创建控件,xib的重用)

小子最近做了一个根据接口返回的数据在Cell中动态创建控件,感觉应该会一部分人卡在这里,小子就跟大家分享一下:

1.控件重复创建:这个问题出现的原因是动态创建的cell内容的时候,无法进行重用设置,所以滑动的时候会多次调用创建Cell内容,这时动态添加的控件就会重复添加到Cell里面来,导致控件叠层了。

解决:在动态添加控件之前清除掉cell.contentView的内容

- (void)removeAllSubviews {
while (self.subviews.count) {
[self.subviews.lastObject removeFromSuperview];
}
}

2.xib重用:想必大家使用xib创建Cell的时候有时候会忽略掉重用问题,导致tableview不够流畅

解决:在给cell加上id的时候务必在相对于的xib里面的id处加上cell的id小子给大家分享一个或者多个新手创建tableview经常会遇到的坑(动态创建控件,xib的重用)

3.动态创建的Cell的高度设置问题:动态创建cell的时候怎么给他的高度设值又是一个坑

解决:由于tableview跑完cellForRowAtIndexPath方法之后才跑heightForRowAtIndexPath方法,所以我们可以在动态设置完cell之后返回一个高度赋值给height。

以上就是小子分享给大家的一些体会,如果有错希望大家相互指导。接下去小子会尽量将自己新学的东西分享给大家。如果转载请附上链接,谢谢!

上一篇:67 个JavaScript和CSS实用工具、库与资源


下一篇:Windows8中如何打包和安装一个本地的Metro类型应用(转)