在最开始自定义UITableViewCell在往Cell上添加子控件的时候使用的是self.contentView addSubView,后来在看视频学习的时候发现直接使用了self addSubView添加子控件,之前想搞明白它俩的区别可以在网上一直没有找到答案(搜索用的还是不好)。
今天在写一个自定义Cell的时候看了别人的代码用到了self.contentView addSubView,我瞬间好像明白了什么。
先说说别人自定义Cell的功能。
自定义的Cell能够左滑,滑出两个按钮(不像系统的只能滑出一个删除按钮),点击两个按钮进行不同的操作。
看用到self.contentView addSubView的代码:
当我跳进到contentView中才看到它的作用
翻译过来(有道直接翻译):
如果你想通过简单地添加额外的视图来定制单元格,你应该将它们添加到内容视图中,这样它们就可以适当地定位在单元格转换成和退出编辑模式的时候。
我的理解:
如果要让cell有编辑功能,如:左滑对cell进行删除,那么就要使用self.contentView addSubView。当我不使用self.contentView,而直接使用self的时候再去左滑发现原来的cell上的子控件并没有向左移动。
理解self addSubview和self.contentview addSubview的区别,今后就可以根据需求去使用它们了。
附上demo:https://github.com/yangguanghei/SlideToShowLeftMenu-UITableViewCell-(我怕今后找不到就放在了自己的git里,原作者莫怪)
为了方便了截了张别人的图
增加内容:后来发现不使用contentView同样能实现相同的效果(我的错)
那这篇文章也放在这吧,学习下能左滑出多个按钮的自定义cell。
本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊