【发布时间】:2015-10-09 08:29:40
【问题描述】:
我有一个 UITableViewCell,它有一个子视图,其中有一个图像视图和一个标签。我想使用子视图作为在单元格内容周围提供一些边距的方法,从而在单元格之间提供边距。这似乎是很多人在网上推荐的方式。
我已经设置了如下所示的约束:
我已经对视图控制器中的所有视图执行了更新帧。故事板完全按照我在电话上的预期显示它。当我在手机上运行它时,我得到了这个......
在这一点上我完全感到困惑。我花了两天时间阅读并尝试布局一个简单的 UITableViewCell,但显然对自动布局的工作原理还没有很好的理解。
我什至只是沿着建议的边界(蓝线)布置了所有内容,然后告诉情节提要生成建议的约束。此时单元格的内容刚刚发送,其中 50% 离开屏幕右侧且不可见。
那么两个问题:
故事板经常向我展示一些在我的实际设备上没有准确表示的东西。这在 iOS 开发中相当普遍吗?我应该完全不依赖故事板自动布局表示吗?
为了让单元格在我的设备上进行布局,我必须对这些约束做些什么,就像此时在我的故事板中显示的那样?我设置错了什么约束?
【问题讨论】:
-
我不认为您的问题出在表格单元格中,它们看起来不错,我认为问题出在 TableView 本身。看起来您已将其限制在 600 大小的故事板的边缘。
-
我不应该把它限制在边缘吗?
-
是的,你应该这样做,但你不希望它一直是 600 宽,这就是它看起来正在发生的情况。我不确定你的约束是什么,但如果你有一个固定的宽度约束,那可能会导致你看到的问题。
-
我不相信我在表格视图上有一个固定的宽度。我暂时希望 UiTableView 成为所有设备上的全宽。所以我限制在前缘和后缘。我会尝试消除这些限制,看看它是如何工作的
标签: ios uitableview autolayout