描述:
是使用[self addsubView] 还是[self.contentView ] 两者的区别是什么?
解决方案1:
印象里有点区别,view是Cell继承自uiview的view,content view是官方cell定义的专门用来放内容的view,平时使用没什么区别,只是复杂情况下可能会产生一些莫名其妙的bug。
解决方案2:官方文档上是要求自定义的时候用self.contentView
If you want to go beyond the predefined styles, you can add subviews to the contentView property of the cell. When adding subviews, you are responsible for positioning those views and setting their content yourself.
contentView是用来放所有cell上面要显示的内容的,是官方推荐的规范。
其它区别就不清楚了。
ps:我用的时候都是直接[self addSubview]; 没有出现什么问题。
更新 THX alladinaian
If you want to customize cells by simply adding additional views, you should add them to the content view so they will be positioned appropriately as the cell transitions into and out of editing mode.
在官方文档的contentview下面有上面这一句:"在content view上加subviews 才能在cell的transitions效果里面适当地移动(positioned)".
解决方案3:self.contentView
尽管不知道为什么,先入为主了
刚才看了一下UITableViewCell继承自UIView,而且我刚才试了一下,用self也确实可以。。。
同上所说,放在contentView
上好。确实是有一些区别的,比如 cell 进入编辑模式的时候(比如删除、移动),contentView
会调整,而 view 就不会调整。
即使你不用到编辑模式,我也建议按照官方规范放在contentView
上。我以前就在这上面差点出一个大bug,跟你分享一下我的教训。
您可能想查找下面的文章:
- UITableViewCell加载多张图片导致内存异常暴增
- iOS基础控件IOS的UITableView问题
- UITableViewCell中嵌套UICollectionView,希望前者的高度根据后者的高度而改变
- UITableView显示富文Html列表,有什么实现方案
- (swift)UITableViewCell放置Button,怎么让Cell的高度随着Button的文字长度自动增加
- iOSUITableViewCell按钮点击状态为什么刷新以后会变回到为未点击状态
- 如何获取UITableView编辑模式下的系统自带手势?
- swiftUItableViewCell怎么自定义添加控件、设置样式
- ListView点击事件一个手指点击UITableViewCell不响应
- 无法删除文件无法读源文件或磁盘UITableView无法滚动到底部