ios 7 兼容问题

来源:互联网 发布:阿巴町手表软件下载 编辑:程序博客网 时间:2024/06/04 18:24

TableView 

1、解决ios7 中tableview下面的边框线距离左边的距离问题

[tableView setSeparatorInset:UIEdgeInsetsZero];

(当你的VC下存在UIScrollView及所有继承UIScrollView的子类如UITableView的时候,如果出现如上空白,你把automaticallyAdjustsScrollViewInsets设置为NO(默认为YES),则表示你不想让UIScrollView的内容自动调整,空白则会消失)


2、解决ios7tableview header总是占据一定高度的问题。

        self.automaticallyAdjustsScrollViewInsets =NO;


3、在iOS7之前,在cell中放了几个按钮,[cell.contentView addSubView:btn]是这样加的按钮,但是在iOS7之后点击按钮无法获取按钮所在cell的indexPath,经打断点发现,[myTableView indexPathForCell:(UITableViewCell *)btn.superview.superview]这样获取的indexPath为空,一步步调试才明白原来iOS7的UITableViewCell的层级关系有变化,UITableViewCell->UITableViewCellScrollView->UITableViewCellContentView->Your custom view,所以要获取如上方法add的按钮需要[myTableView indexPathForCell:(UITableViewCell *)btn.superview.superview.superview]这样才能获取到indexPath。


4、在之前的版本中UITableViewCell的backgroundColor是透明背景的,但是在iOS7中是默认白色背景,如果在TableView后面加入背景的应用要注意了,在创建UITableViewCell的时候把backgroundColor设置为[UIColor clearColor]


5、如果你最近在做对iOS7的兼容时,发现你的table view cell显示不正常。这很可能是你以前的用法不对。Table view cell的自定义内容应该作为 cell.contentView的子view添加到cell中,如果你直接用 [cell addSubView:]方法而不是[cell.contentView addSubView:]方法添加子元素,那么就可能在iOS7下出来异常的表现。主要原因是iOS7的Table view cell内部实现有了部分变化。


0 0
原创粉丝点击