iOS tableView分割线高度自定义
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分割线高度自定义的更多相关文章
- iOS开发多线程篇—自定义NSOperation
		
iOS开发多线程篇—自定义NSOperation 一.实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UI ...
 - iOS TableView常见问题
		
Q:表视图只需要部分单元格,怎样删除下方多余的空白单元格? A:viewDidLoad中添加 self.tableView.tableFooterView=[[UIView alloc] init]; ...
 - iOS tableview的常用delegate和dataSource执行顺序
		
在这次项目中遇到了一个特别奇葩的问题:表视图创建的cell在7以上的系统能正常运行显示,在模拟器上就不能正常实现......为解决这个问题,纠结了好久...... 对在7系统上不显示的猜测: 用mas ...
 - 解决tableView分割线左边不到边的情况
		
//解决tableView分割线左边不到边的情况// if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {// ...
 - ios tableview 上加 textfiled
		
ios tableview 上加 textfiled 首先附上我项目中用曾经用到的几张图 并说明一下我的用法: 图1: 图2: 图3: 心在你我说一下 我当初的实现 方法 ,希望能给你们一些 启 ...
 - iOS Dev (59) 高度自适应的UITextView
		
iOS Dev (59) 高度自适应的UITextView 作者:阿锐 地址:http://blog.csdn.net/prevention - 例如以下 _inputTextView 为一个 UIT ...
 - swift学习 - tableView自适应高度2(SnapKit Layout)
		
SnapKit是Swift中自动布局的框架,相当于Objective-C中的Masonry 下面是tableView自定义cell,使用SnapKit布局的效果图: 详细代码如下: TYCustomC ...
 - swift学习 - tableView自适应高度1(xib autoLayout)
		
tableView自适应高度 效果图: 源码: class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSo ...
 - simple高度自定义的jqPaginator 项目中做分页的应用技巧
		
最近做后台管理系统,分页用到的不少,项目中其实已经有分页功能的组件但是不够高度自定义,于是就找到了 jqPaginator 高度自定义的Html结构 初始化引用如下: $("#paginat ...
 
随机推荐
- 深入分析Parquet列式存储格式【转】
			
Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0. 列式存储 列式存 ...
 - Learning-Python【0】:Windows环境下Python2和Python3的安装
			
一.下载 可以在官网下载最新版本, 也可以在以下链接中找想安装的版本下载下来,这里以Python3.6和Python2.7为例 https://www.python.org/ftp/python/ 二 ...
 - Java线程机制学习
			
前面的文章中总结过Java中用来解决共享资源竞争导致线程不安全的几种常用方式: synchronized: ReentrantLock: ThreadLocal: 这些都是在简单介绍了基本用法的基础上 ...
 - python 获取subprocess进程执行后返回值
			
test.py #coding=utf- import subprocess compilePopen = subprocess.Popen('gcc haha',shell=True,stderr= ...
 - 安装activemq和java代码实现生产和消费
			
Apache Active MQ的官网 http://activemq.apache.org/ 下载地址: 国外的网站,网速不好的时候,真的下不下来 http://activemq.apache.or ...
 - windows平台下安装linux
			
win10系统下,可直接安装linux系统,且可打开linux的命令行 安装 1.开始--->微软应用商店 进入之后,在搜索框,搜索linux 在搜索结果中,选择要安装的 linux 系统 这里 ...
 - SWUST OJ(957)
			
逆置单链表 #include <stdio.h> #include <stdlib.h> typedef struct LNode { char data; struct LN ...
 - SAP发布REST/HTTP接口
			
1.SE24新建类:ZCL_REST_QUERY 激活,然后添加interface:IF_HTTP_EXTENSION并激活. 2.实现IF_HTTP_EXTENSION~HANDLE_REQUEST ...
 - C#/.NET 使用官方驱动操作MongoDB(一):插入、查询
			
概述 想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动. C#版的驱动有很多,这里我们先用官方提供的 MongoDB.Driver(使用 Nuget 安装),当前版本为2. ...
 - Linux中利用extundelete恢复误删除的数据
			
利用extundelete工具恢复磁盘误删除的数据 原理: 简单介绍下关于inode的知识.在Linux下可以通过"ls -id"命令来查看某个文件或者目录的inode值,例如查看 ...