自定义tableView的cell分割线

  • 系统默认情况下的cell的分割线,左边会预留一点的距离


    cell.png
  • 我们往往会要求cell的分割线左边不预留距离,下面给出几个方法:
  • 1.自定义cell,在cell底部加上高度为1的View,设置View的背景颜色为所需分割线的颜色
  • 2.设置cell分割线偏移量

allows customization of the frame of cell separators
设置分割线的偏移量,下面分别是iOS7和iOS8的属性
@property (nonatomic) UIEdgeInsets separatorInset
NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR;
@property (nonatomic) UIEdgeInsets layoutMargins
NS_AVAILABLE_IOS(8_0);
用法如下
[self.tableView setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)]
~~~

  • 3.自定义cell,重写cell的setFrame方法,在高度计算前,让cell高度减1,这样就获得了高度为1的分割线,分割线的颜色,是它父控件的背景颜色
    重写这个方法的目的:拦截cell的frame设置
  - (void)setFrame:(CGRect)frame
{
   frame.size.height -= 1;

   [super setFrame:frame];
}
  • 自定义分割线设置完毕
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容