ios - UITableViewCell 的添加子视图疑问?
PHP中文网
PHP中文网 2017-04-17 13:59:38
[iOS讨论组]

是使用[self addsubView] 还是[self.contentView ] 两者的区别是什么?

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
阿神

同上所说,放在contentView上好。确实是有一些区别的,比如 cell 进入编辑模式的时候(比如删除、移动),contentView会调整,而 view 就不会调整。

即使你不用到编辑模式,我也建议按照官方规范放在contentView上。我以前就在这上面差点出一个大bug,跟你分享一下我的教训。

阿神

self.contentView
尽管不知道为什么,先入为主了
刚才看了一下UITableViewCell继承自UIView,而且我刚才试了一下,用self也确实可以。。。

高洛峰

官方文档上是要求自定义的时候用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)".

PHP中文网

印象里有点区别,view是Cell继承自uiview的view,content view是官方cell定义的专门用来放内容的view,平时使用没什么区别,只是复杂情况下可能会产生一些莫名其妙的bug。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号