如何有效去掉分割线(UITableViewCellSeparatorView),并或控制单条分割线
2016-03-09 13:31
519 查看
起因:
新项目中,有的cell要分割线,有的cell不要分隔线,又有的cell分割线拒里前端15pix。搞得我也真是醉了,如果用自定义分割线的话也不好处理。然后我看了一下UITableviewCell中view的分级,如下图:在UITableviewCell中,
UITableViewCellContentView和
_UITableViewCellSeparatorView这两种视图作为子视图存在,并且
_UITableViewCellSeparatorView作为私有变量。
期间的解决方案:
我曾经尝试在view加载完成,设置视图数据的时候,for循环拿到分割线(_UITableViewCellSeparatorView),但是结果并不理想,要么是只能拿到一条,要么是一条也拿不到。下面正题来了:
我后来突发奇想,能不能再view加载之前做处理,至少UITableviewCell的-[addSubView:]的方法我们还是可以重载的。然后结果如下(嘿嘿嘿):- (void)addSubview:(UIView *)view { if (![view isKindOfClass:[NSClassFromString(@"_UITableViewCellSeparatorView") class]] && view) [super addSubview:view]; }
怎么样,看没看到终端里
view的类型,就是之前说的分割线的视图。
总结
像上面的代码,我们的要求是要求某个cell不要分割线,所以在加载的时候,系统给UITableViewCell添加subview的时候,直接屏蔽掉分隔线即可。其他情况还可以另行操作,比如说修改某条分割线的颜色或是修改某条分割线的左侧距离(别跟我说系统的,系统的改一条全部都会变)。相关文章推荐
- 自定义uitableviewcell
- Swift-UITableViewCell:设置表格的accessoryType属性
- ios关于tableView的重用
- tableViewCell的不同高度创建
- UITableViewCell高度自适应
- 关于IOS 开发 中的一些小技巧
- iOS 中 cell下载图片思路 ,图解
- 通过修改父类,改变子类的cell的背景颜色及图片
- UITableView的组的自定义与cell的重用
- 微信聊天
- 复习ios --纯代码自定义 UITableviewCell
- 自定义tabelviewcell
- UITableViewCell的选中时的颜色设置和分割线颜色设置
- UITableView 实现异步加载图片之改进
- UITableView详谈
- 初入IOS之UI控件学习 UITableView
- UITableViewCell的重用问题
- 使用 Segue 傳送選取的 Table Cell 內容到下一個 View
- IOS-UITableView编辑模式
- iOS开发--storyboard+autolayout定制灵活高度tableviewCell