1.系统自带的集中分割线的形式 myTableView.separatorStyle=UITableViewCellSeparatorStyleNone;(这个是去掉所有分割线)可以通过这个来设置

2.另外设置自定义的cell 首先通过myTableView.separatorStyle=UITableViewCellSeparatorStyleNone这个方法去掉所有的cell,然后在重载cell的drawRect方法,通过Quartz 2D技术直接进行绘制,思路如下,首先绘制整个cell的背景色,然后在cell的最下面绘制分割线,下面这个就可以自己设置分割线的样式 宽度和高度了代码片段如下:

// 自绘分割线( 貌似在ios7上不起作用,在ios7上可以使用下面的方法)  下面的这个方法绘制的分割线还是不够完美 (多个section的时候下面会多出一条,不知道怎么解决)
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextFillRect(context, rect);

CGContextSetStrokeColorWithColor(context, [UIColor colorWithRed:0xE2/255.0f green:0xE2/255.0f blue:0xE2/255.0f alpha:1].CGColor);
CGContextStrokeRect(context, CGRectMake(0, rect.size.height - 1, rect.size.width, 1));
}

另外如果在ios7先只想改变分割线的宽度位置等可以通过设置 因为这个设置只有在ios7及以上才可以

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
cell.separatorInset = UIEdgeInsetsMake(0, 50, 0, 0);//上左下右 就可以通过设置这四个参数来设置分割线了
}

3.有时候需要去掉多余的分割线 就可以通过一下这个方法实现  这个方法要在-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath这个方法中实现 如下://去掉多余的cell 分割线
if (tableView.dataSource>0) {
tableView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
[self setExtraCellLineHidden:tableView];
}else{
tableView.separatorStyle=UITableViewCellSeparatorStyleNone;
}

经过这个判断之后调用下面的方法就可以实现 有数据时就有分割线没有数据时就没有分割线

- (void)setExtraCellLineHidden: (UITableView *)tableView

{
UIView *view =[ [UIView alloc]init];
view.backgroundColor = [UIColor clearColor];
[tableView setTableFooterView:view];
[view release];
}

iOS tableView分割线高度自定义的更多相关文章

  1. iOS开发多线程篇—自定义NSOperation

    iOS开发多线程篇—自定义NSOperation 一.实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UI ...

  2. iOS TableView常见问题

    Q:表视图只需要部分单元格,怎样删除下方多余的空白单元格? A:viewDidLoad中添加 self.tableView.tableFooterView=[[UIView alloc] init]; ...

  3. iOS tableview的常用delegate和dataSource执行顺序

    在这次项目中遇到了一个特别奇葩的问题:表视图创建的cell在7以上的系统能正常运行显示,在模拟器上就不能正常实现......为解决这个问题,纠结了好久...... 对在7系统上不显示的猜测: 用mas ...

  4. 解决tableView分割线左边不到边的情况

    //解决tableView分割线左边不到边的情况//    if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {//  ...

  5. ios tableview 上加 textfiled

    ios tableview 上加 textfiled 首先附上我项目中用曾经用到的几张图  并说明一下我的用法: 图1: 图2: 图3: 心在你我说一下  我当初的实现 方法 ,希望能给你们一些  启 ...

  6. iOS Dev (59) 高度自适应的UITextView

    iOS Dev (59) 高度自适应的UITextView 作者:阿锐 地址:http://blog.csdn.net/prevention - 例如以下 _inputTextView 为一个 UIT ...

  7. swift学习 - tableView自适应高度2(SnapKit Layout)

    SnapKit是Swift中自动布局的框架,相当于Objective-C中的Masonry 下面是tableView自定义cell,使用SnapKit布局的效果图: 详细代码如下: TYCustomC ...

  8. swift学习 - tableView自适应高度1(xib autoLayout)

    tableView自适应高度 效果图: 源码: class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSo ...

  9. simple高度自定义的jqPaginator 项目中做分页的应用技巧

    最近做后台管理系统,分页用到的不少,项目中其实已经有分页功能的组件但是不够高度自定义,于是就找到了 jqPaginator 高度自定义的Html结构 初始化引用如下: $("#paginat ...

随机推荐

  1. oracle 查询表结构

    SELECT t1.Table_Name AS "表名称", t3.comments AS "表说明", t1.Column_Name AS "字段名 ...

  2. 论文笔记:Visual Question Answering as a Meta Learning Task

    Visual Question Answering as a Meta Learning Task ECCV 2018 2018-09-13 19:58:08 Paper: http://openac ...

  3. Architectural principles

    原文 "If builders built buildings the way programmers wrote programs, then the first woodpecker t ...

  4. Promise 异步函数的加上外壳终止Promise

    //promise异步函数的请求终止 export default function markCancleble(promise){ let hasCanceled_ = false ; const ...

  5. tcp协议以及socket介绍

    壹:tcp协议:可靠传输 一: 3次握手,建立链接:4次挥手,断开链接 3次握手,建立链接:图解 ,这样双向通路就建立完成了. 在建立链接时,并没有数据传输,所以中间两部可以合在一起,也就是3次握手, ...

  6. Centos 6.8安装ideaIU-2017.2.6-no-jdk

    参考资料: (一)https://www.jetbrains.com/help/idea/2017.2/intellij-idea-help.pdf  (链接: https://pan.baidu.c ...

  7. minicom 安装 查看串口

    因为现在电脑基本不配备串行接口,所以,usb转串口成为硬件调试时的必然选择.目前知道的,PL2303的驱动是有的,在dev下的名称是ttyUSB0 默认情况下ubuntu已经安装了USB转串口驱动(p ...

  8. TCP/IP三次握手和四次挥手

    原博链接:https://www.cnblogs.com/Andya/p/7272462.html

  9. (17)线程队列---queue LifoQueue PriorityQueue

    线程常用队列有: queue LifoQueue PriorityQueue 语法: 大致和进程队列语法一致 put 往队列当中放值,超过队列长度,直接加阻塞 get 如果获取不到加阻塞 put_no ...

  10. mybatis_generator合并xml mapper文件

    一.问题 用的mybatis.generator 1.3.6版本,版本没啥大关系. 目前的xml输出有两个主要的问题: 1.xml追加而不是覆盖 这样就导致一个xml mapper文件每个node都重 ...