iOS 8下使用xib/storybord AutoLayout导致的分割线问题
/***
iOS8 分割线问题 在xib/storyboard下面解决方案
http://qiita.com/yimajo/items/10f16629200f1beb7852
http://www.cocoachina.com/ios/20141026/10045.html
http://www.2cto.com/kf/201411/349631.html
http://dev.classmethod.jp/smartphone/iphone/ios-8-uitableview-layoutmargins/
http://demo.netfoucs.com/growinggiant/article/details/42002871
*/
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self.view setLayoutMargins:UIEdgeInsetsZero];
// if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
//
// [self.tableView setSeparatorInset:UIEdgeInsetsZero];
//
// }
//
// if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
//
// [self.tableView setLayoutMargins:UIEdgeInsetsMake(0, 0, 0, 0)];
//
// }
// [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
}
-(void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
// [self.tableView setLayoutMargins:UIEdgeInsetsZero];
[self.view setLayoutMargins:UIEdgeInsetsZero];
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return ;
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *ID = @"TableViewCell";
UITableViewCell*cell = [tableView dequeueReusableCellWithIdentifier:ID];
if (cell==nil) {
UINib *nib = [UINib nibWithNibName:@"TableViewCell" bundle:nil];
[tableView registerNib:nib forCellReuseIdentifier:ID];
return [[nib instantiateWithOwner:nil options:nil]lastObject];
}
// cell.preservesSuperviewLayoutMargins = NO;
// if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
// cell.separatorInset = UIEdgeInsetsZero;
// }
//
// if([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
// cell.preservesSuperviewLayoutMargins = false;
// }
//
// if( [cell respondsToSelector:@selector(setLayoutMargins:)]) {
// cell.layoutMargins = UIEdgeInsetsZero;
// [self.view setLayoutMargins:UIEdgeInsetsZero];
// }
return cell;
}
//然后在UITableView的代理方法中加入以下代码
//- (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];
//
// }
//
//}
iOS 8下使用xib/storybord AutoLayout导致的分割线问题的更多相关文章
- iOS回顾笔记(06) -- AutoLayout从入门到精通
iOS回顾笔记(06) -- AutoLayout从入门到精通 随着iOS设备屏幕尺寸的增多,当下无论是纯代码开发还是Xib/StoryBoard开发,自动布局已经是必备的开发技能了. 我使用自动布局 ...
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry) 随着iPhone6/6+设备的上市,如何让手头上的APP适配多种机型多种屏幕尺寸变得尤为迫 ...
- 微信团队分享:iOS版微信是如何防止特殊字符导致的炸群、APP崩溃的?
本文来自微信开发团队yanyang的技术分享. 1.引言 相信大家都遇到过一段特殊文本可以让iOS设备所有app闪退的经历.前段时间大年初一,又出现某个印度语字符引起iOS11系统奔溃,所幸iOS版微 ...
- IOS 开发下拉刷新和上拉加载更多
IOS 开发下拉刷新和上拉加载更多 简介 1.常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTTableViewrefresh (3)AH3DPullRefresh ( ...
- nginx负载下站点错误响应会导致其他节点重复响应问题的解决过程
目录 前言 问题来了 问题又来了 问题分析 困惑 转机 后续 前言: 这是我上周工作过程中的一次解决问题的过程.解决的是nginx负载下站点错误响应导致其他节点重复响应. 我在整理这个记叙文时,在给这 ...
- iOS开发UI篇—xib的简单使用
iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: ...
- iOS开发拓展篇—xib中关于拖拽手势的潜在错误
iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一.错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势. 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行 ...
- Swift技术之如何在iOS 8下使用Swift设计一个自定义的输入法 (主要是NSLayoutConstraint 的使用)
当前位置: > Swift新手入门 > Swift技术之如何在iOS 8下使用Swift设计一个自定义的输入法 时间:2014-09-10 16:49来源:未知 作者:啊成 举报 点击:5 ...
- 李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView
李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView 11111222
随机推荐
- Mysql 相关字段类型长度
1. Compact行记录是在MySQL 5.0时被引入的,其设计目标是能高效存放数据. 2. Redundant是MySQL 5.0版本之前InnoDB的行记录存储方式. 3. InnoDB存 ...
- 关于GPL的一些知识
1.什么是GPL GPL许可协议(GNU General Public License):只要软件中包含有其他GPL协议的产品或代码,那么该软件就必须也采用GPL许可协议且开源及免费.具有以下特点: ...
- Maximo-获取url
//访问报表public void OPENREPORT() throws RemoteException, MXException{ int polineid=this.getMbo().getIn ...
- chrome调试JavaScript脚本
随着 JavaScript 应用的复杂性逐渐提高,开发者需要有力的调试工具来帮助他们快速发现问题的原因,并且能高效地修复它.Chrome DevTools 提供了一系列实用的工具使得调试 JavaSc ...
- MSSQL sp_helptextplus
默认的sp_helptext 如果存储过程每行代码太长会自动截断 把这个sp_helptextplus添加到SSMS的keyboard快捷键里面 SET QUOTED_IDENTIFIER ON SE ...
- NTFS u盘支持 - centos6
uname -r bash-4.1# uname -r2.6.32-431.el6.x86_64 ---- http://repository.it4i.cz/mirrors/repoforge/re ...
- 网络存储技术(3) based on zt
各种术语介绍 一 ESCON 1991 年,IBM公司在S/390服务器中推出了ESCON(Enterprise System Connection)技术.它是基于光纤介质,最大传输速率达1 ...
- Android应用开发项目结构分析
初学Android开发,初步理解的Android应用项目结构,备忘. 一.清单文件AndroidManifest.xml 功能: 1.供Android平台调用,供其了解本应用的信息,因此,所有的组件( ...
- Socket为什么要翻译成套接字
作者:陈振玥链接:https://www.zhihu.com/question/21383903/answer/64103663来源:知乎著作权归作者所有,转载请联系作者获得授权. 作为一条刻(wu) ...
- MyEclipse 序列号生成代码
根据程序运行提示输入用户名即可生成注册码 import java.io.*; public class MyEclipseGen { private static final String LL = ...