ios – XCode 6.3为tableviewcell添加边距
XCode 6.3 / Swift 1.2是否为UITableViewCell的contentView添加了额外的边距?在更新之前,我有一个自定义的UIView,它在我的单元格中一直延伸到整个屏幕.例:
现在,单元格中的所有内容似乎都有额外的边距,我不知道它们来自哪里. 请注意,这些视图的宽度在代码中不会以任何方式更改,并且右侧和左侧的约束如下: 另请注意,我使用的是tableView.separatorStyle = .None.我添加这个事实是因为由于某种原因,我的某个tableViews中有一个默认的分隔符,它似乎没有添加这些额外的边距. 有谁知道他们是否在XCode 6.3中做了一些奇怪的改变?更新后直接发生此行为. 编辑: 解决方法
仔细查看“大小”检查器的此屏幕截图以获取主要约束:
看看如何检查“相对于保证金”?那是你的问题.如果边距发生变化,则左边缘会发生变化.取消选中该菜单项,然后将常量更改为零.对于尾随约束也这样做,你的问题将会结束. 现在让我们来解决更深层次的问题:改变了什么?你是绝对正确的,有些事情.我相信他们修复了一个错误,你陷入了修复.记录显示单元格的preserveSuperviewLayoutMargins为true,表格的边距为0,16,16.即使在iOS 8.2上也是如此,因此iOS 8.2上的有效边距应为16.但是它们是8,就好像保留SuperviewLayoutMargins是假的.但是在iOS 8.3中,正确遵循此设置 – 结果是您已观察到. 因此,解决问题的另一种方法是保留你的约束,但是在cellForRowAtIndexPath:中将每个单元格的preserveSuperviewLayoutMargins设置为false.这同样适用于在两个系统中使结果相同. 编辑好消息:看起来这个变化在iOS 9中被还原了.因此,如果没有变化,你的单元格在iOS 9中看起来与在iOS 8.2及之前的版本相同. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |