iOS中tableViewcell分割线的设置技巧有哪些

这篇文章给大家分享的是有关iOS中tableView cell分割线的设置技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联建站服务项目包括思明网站建设、思明网站制作、思明网页制作以及思明网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,思明网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到思明省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

一、关于分割线的位置。

分割线的位置就是指分割线相对于tableViewCell.如果我们要根据要求调节其位置,那么在iOS7.0版本以后,提供了一个方法如下:

if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
  
  [self.tableView setSeparatorInset:UIEdgeInsetsMake(0, 45, 0, 0)];
  
 }

UIEdgeInsets 的四个参数分别是相对于cell的上、左、下、右的距离,都是CGFloat型。

二、分割线的颜色及风格:

a、cell的分割线的颜色不是cell的属性,它属于tableView的separatorColor属性。这样我们只需要设置属性值就可以得到所有我们想要的颜色的分割线、

[self.tableView setSeparatorColor:[UIColor clearColor]];

b、cell的风格:它是tableView 的separatorStyle属性,系统给我们提供了三种风格在枚举UITableViewCellSeparatorStyle中定义,分别是

typedef NS_ENUM(NSInteger, UITableViewCellSeparatorStyle) {
 UITableViewCellSeparatorStyleNone,
 UITableViewCellSeparatorStyleSingleLine,
 UITableViewCellSeparatorStyleSingleLineEtched // This separator style is only supported for grouped style table views currently
};

默认的是UITableViewCellSeparatorStyleSingleLine.

三、tableViewCell 分割线自定义

首先要把cell自带的分割线给去掉,使用如下两种都行,一是把颜色设置为clearColor,二是风格设置为UITableViewCellSeparatorStyleNone。

自定义cell分割线大致用到的两种方法

a、把自定义的分割线当成一个View放到cell的contentView上,一定要注意重用问题,所以这个view 要在cell初始化的时候添加上。示例代码如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
 UITableViewCell *cell = nil;
 cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
 if (cell == nil) {
  cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
  cell.accessoryView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"huicellacce"]];
  cell.backgroundColor = [UIColor clearColor];
//  cell.selected = YES;
  UIImageView *imageViewSepE = [[UIImageView alloc]initWithFrame:CGRectMake(47, 49, 200, 1)];
  imageViewSepE.image = [UIImage imageNamed:@"godline"];
  [cell.contentView addSubview:imageViewSepE];

 }
}

b、比较复杂,用到了底层的框架,

- (void)drawRect:(CGRect)rect { 
CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor); CGContextFillRect(context, rect); 

CGContextSetStrokeColorWithColor(context, [UIColorcolorWithHexString:@"ffffff"].CGColor);
 CGContextStrokeRect(context, CGRectMake(5, -1, rect.size.width - 10, 1)); //下分割线 
CGContextSetStrokeColorWithColor(context, [UIColor colorWithHexString:@"e2e2e2"].CGColor); 
CGContextStrokeRect(context, CGRectMake(5, rect.size.height, rect.size.width - 10, 1));
 }

感谢各位的阅读!关于“iOS中tableView cell分割线的设置技巧有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


标题名称:iOS中tableViewcell分割线的设置技巧有哪些
文章路径:http://hbruida.cn/article/jseghs.html