加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – XCode 6.3为tableviewcell添加边距

发布时间:2020-12-15 01:45:16 所属栏目:百科 来源:网络整理
导读:XCode 6.3 / Swift 1.2是否为UITableViewCell的contentView添加了额外的边距?在更新之前,我有一个自定义的UIView,它在我的单元格中一直延伸到整个屏幕.例: 现在,单元格中的所有内容似乎都有额外的边距,我不知道它们来自哪里. 请注意,这些视图的宽度在代码
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及之前的版本相同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读