自定义tableView的cell分割线

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


    自定义tableView的cell分割线_第1张图片
    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];
}
  • 自定义分割线设置完毕

你可能感兴趣的:(自定义tableView的cell分割线)