UITableViewCell里面separator的设置

最近cell显示的时候左边一直有15个像素的偏移,查了下面的方法

//1. 不管用

[self.tableView setSeparatorInset:UIEdgeInsetsZero];

// 2.效果不明显,并不能完全从第一个像素显示分割线

 1 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
 2     if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
 3     {
 4         [self.tableView setSeparatorInset:UIEdgeInsetsZero];
 5     }
 6     if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)])
 7     {
 8         [self.tableView setLayoutMargins:UIEdgeInsetsZero];
 9     }
10 }

// 3.重写drawRect方法,有效果,颜色设置方便,但是操作cell,会增加手机负担

 1 - (void)drawRect:(CGRect)rect {
 2     CGContextRef context = UIGraphicsGetCurrentContext();
 3     CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
 4     CGContextFillRect(context, rect);
 5
 6     //上分割线
 7     CGContextSetStrokeColorWithColor(context,[UIColor whiteColor].CGColor);
 8     CGContextStrokeRect(context,CGRectMake(0,0,rect.size.width,1));
 9
10     //下分割线
11     CGContextSetStrokeColorWithColor(context,[UIColor whiteColor].CGColor);
12     CGContextStrokeRect(context,CGRectMake(0,rect.size.height-1,rect.size.width,1));
13 }

// 4.自定义cell,隐藏cell的separator的颜色,然后在cell的separator位置上添加一个只有1像素的view,设置view的颜色,即把view当做一条分割线使用,显示效果完美

时间: 12-14

UITableViewCell里面separator的设置的相关文章

UITableViewCell的separator分隔线设置失效

// 处理separator -(void)viewDidLayoutSubviews { if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeInsetsZero]; } if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) { [sel

UITableViewCell不可以选中

1.把UITableViewCell的SelectionStyle属性设置为:UITableViewCellSelectionNone. cell.selectionStyle = UITableViewCellSelectionStyleNone; 2.通过UITableViewDelegate的代理方法tableView:willSelectRowAtIndexPath::如果不希望选中,可以直接返回nil,如果希望选中,可直接返回NSIndexPath:另通过这种方法可以设置部分UITab

swift学习之UITabelView ----UITableViewCell

// //  OneViewController.swift //  tab // //  Created by su on 15/12/7. //  Copyright © 2015年 tian. All rights reserved. // import UIKit let ID = "cell" class OneViewController: UIViewController,UITableViewDelegate, UITableViewDataSource { //   

IOS 根据cell内容设置cell的高度

这里要涉及到tableview 的两个方法 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 和 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 我们要清楚这两个方法的调用顺序,先heightForRo

hadoop streaming怎么设置key

充分利用hadoop的map输出自动排序功能,能够有效提高计算效率.Hadoop streaming框架默认情况下会以'/t’作为分隔符,将每行第一个'/t’之前的部分作为key,其余内容作为value,如果没有'/t’分隔符,则整行作为key:这个key/tvalue对又作为该map对应的reduce的输入.实际上,通过设置参数,可以根据需要将约定满足要求的数据分布到同一个reducer,又可以通过设置map执行参数将数据内容进行一定的排序,从而提高在reducer中的计算效率. hadoop

精通IOS开发-表视图的使用

// // ViewController.m // Simple Table // // Created by Jierism on 16/7/20. // Copyright © 2016年 Jierism. All rights reserved. // #import "ViewController.h" @interface ViewController ()<UITableViewDelegate,UITableViewDataSource> // 声明一个数组,

sqlite3 shell的使用

sqlite的安装 1. 首先是下载sqlite,可以该页面下载:http://www.sqlite.org/download.html 当前的最新版本为:sqlite-shell-win32-x86-3070701.zip这个是windows下sqlite的命令行管理工具,用它可以管理sqlite数据库文件 同时最好把文档也下载下来,里面包含了详细的sqlite的使用说明:sqlite-doc-3070701.zip 2. sqlite无需任何配置和安装,只要将下载下来的shell文件解压到任

Java GUI 阅读器之面板设计

主要是模仿记事本这样的面板设计,不过在其中还改进改进 类名:MyNote 主要软件包:java.awt*; javax.swing*; 代码: import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; im

[Sqlite3].help中的命令介绍

sqlite的安装1. 首先是下载sqlite,可以该页面下载:http://www.sqlite.org/download.html当前的最新版本为:sqlite-shell-win32-x86-3070701.zip这个是windows下sqlite的命令行管理工具,用它可以管理sqlite数据库文件,同时最好把文档也下载下来,里面包含了详细的sqlite的使用说明:sqlite-doc-3070701.zip 2. sqlite无需任何配置和安装,只要将下载下来的shell文件解压到任何你