您的位置:首页 > 产品设计 > UI/UE

ios8 UITableView设置 setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法

2015-07-21 17:43 615 查看
ios7的时候在storyboard 设置 TableView的separator intend = 0 可以让tableview的分割条顶到头。

但是,升级了iOS8时,发现不起作用了。

经过google,在 stackoverflow 发现了答案

翻译纪录一下

iOS8 在cell和tableview中都引入了layoutMargins属性,而且这个属性在iOS 7中并没有,所以你需要区别对待这两个版本。

使用 Ricky 的方案设置cell中的layoutMargin属性:

?
?
你还需要在tableview中设置同样的属性. 通过多次试验,我发现你可以在viewDidLayoutSubviews.中设置这个属性

把下面代码拷贝到你的view的实现中

?
这样,在ios7,ios8中都可以实现分割条顶头的需求了。(译者:ios6缺省是顶头的,因此这个方案可以适用于ios6-8).

Edit: 按照 @bffmike 在 Twitter 上所说, 你可能还需要在cell中设置 preservesSuperviewLayoutMargins=NO . 再次说明:每个人的情况因人而异.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: