Table的分割线偏移量设置 及其 UIEdgeInset详解

时间:2022-05-08 10:16:01
 -(void)viewDidLayoutSubviews {

     if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsMake(, , , )];
// 设置分割线的 偏移量 分割线向右移动85 要是向左改成UIEdgeInsetsMake(0, 0, 0, 85)
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
//这个是整个table的margin
//[self.tableView setLayoutMargins:UIEdgeInsetsMake(0, 85, 0, 0)];
}
}
UIEdgeInsetsMake(0, 85, 0, 0)
UIEdgeInsetsMake(top, left,bottom, right )
这里的4个参数 其实就是 距离上边距离为top ,距离左边left,距离底部bottom,距离右边right。 每一个view 都是一个容器,这些距离都是距离容器的边框的距离。 但是分割线和右边的灰色的箭头 都会偏移,用的时候注意了。 所以我又想到其他的想法,就是把系统的line 隐藏,自己重写cell中的
- (void)drawRect:(CGRect)rect

{

    UIColor * color =[UIColor lightGrayColor];

    [color set]; //设置颜色

    UIBezierPath * bezier=[[UIBezierPath alloc]init];

    bezier.lineWidth = 0.3 ; //设置线宽度

    CGFloat y = CGRectGetHeight(self.contentView.frame)-;

    [bezier moveToPoint:CGPointMake(, y)];//线的起点

    [bezier addLineToPoint:CGPointMake(kScreenWidth, y)]; //连两点之间的线

    [bezier closePath];

    [bezier stroke]; //画线

}