iOS 7开始UITableView的分割线不在从左侧边界开始了,而是默认空出了一段距离。

如果想要使用默认的分割线而且还要从左侧边界开始的话,有几种解决方式:

1、在tableView的代理方法中设置

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{ if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
} if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
} if([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]){
[cell setPreservesSuperviewLayoutMargins:NO];
}
}

2、既设置tableView代理,又设置tableView属性

首先在初始化tableView的时候,加上如下这两句:

    if ([_tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[_tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([_tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[_tableView setLayoutMargins:UIEdgeInsetsZero];
}

然后在代理方法中这样设置:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{ if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
} if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
}

上面这种做法也是可以的。

2、重写分割线

UITableView的分割线也是用UIView做的,具体可以看UITableView的层次结构,可以发现它其实是UITableViewCellSeparatorView,是cell的一个子视图。

<_UITableViewCellSeparatorView: 0x7f9f5a64cf80; frame = (0 59.5; 200 0.5); layer = <CALayer: 0x7f9f5a627a80>>

这是我打印的demo中一个小tableView中的系统默认分割线的信息,猜测是UIView的某个子类,所以我们自定义一个UIView高度设置为0.5,添加到cell上即可。

最新文章

  1. 用WinForm写的员工考勤项目!!!!!!
  2. 深度学习入门教程UFLDL学习实验笔记三:主成分分析PCA与白化whitening
  3. typedef与#define的区别
  4. Unity3D 为什么保存Transform等引用效率会更高
  5. NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner
  6. SQL Server同步复制问题排查方法
  7. C# winform 上传文件到服务器
  8. 使用原生Sql查询实现按分类推送最新文章到首页
  9. RESTful 服务架构风格 * .NET的RESTful框架 OpenRasta
  10. thinkphp 文件上传
  11. PHP LINUX Notice: undefined $_GET完美解决方法
  12. QVariant与自定义数据类型转换的方法
  13. C#如何连接MySql数据库
  14. jQuery插件
  15. SAP屏幕框架的创建
  16. Linux内核分析(六)----字符设备控制方法实现|揭秘系统调用本质
  17. 【转】sql语句的优化分析
  18. Microsoft .Net Remoting系列专题之二
  19. Integer 和int 比较
  20. /var/run/yum.pid 已被锁定,PID 为 2925 的另一个程序正在运行

热门文章

  1. pthon核心编程-读书笔记:知识点摘录与总结(方便理解和快速记忆)
  2. Android简易实战教程--第四十二话《Spinner下拉级联效果》
  3. Linux文件格式化与相关处理及sed工具
  4. ROS(indigo) 用于机器人控制的图形化编程工具--code_it robot_blockly
  5. String、StringBuffer、StringBuilder对比
  6. EBS开发性能优化之查找需要优化的程序
  7. 1.物理系统PhysicsWorld,RayCast
  8. Java的LinkedList详解,看源码之后的总结
  9. Sharing The Application Tier File System in Oracle E-Business Suite Release 12.2
  10. 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(