【发布时间】:2014-12-25 19:05:44
【问题描述】:
我正在尝试在我的应用中为自定义表格视图单元格使用自动布局。
我似乎无法完全正确地得到约束。
我在自定义表格视图单元格中放置了标签,但标签仍然被切断。有什么想法吗?
谢谢!将发布任何其他需要的东西。试图在下图中显示所需的信息:
在 Xcode 中调试。不知何故,模拟器中显示的内容与 Xcode 调试中的不同。
这是我的 TableView 显示的宽度:
更新: 这里的问题与用户 matt 在接受的答案中所说的内容有关,但我想让 Q&A 更清晰一些,因为我已经为遇到此问题的其他人弄清楚了。
在他最初的评论中,他提到了 Xcode View 调试,这很棒,我能够深入挖掘。它被称为助手编辑器:设备预览,您可以在其中查看屏幕上内容的布局和图层,以查看是否有标签重叠或脱离基于它运行的设备的屏幕。如果您想检查多个设备的大小,只需点击此图片左下角的加号图标。
这帮助我找到了 TableView 的重叠层和大小问题。我能够看到它在每种设备尺寸上的外观。
这里有时也有助于使用 Pin 菜单。有时标签可能会跑出屏幕,因为它不知道单元格的约束基于设备大小的位置。因此,如果标签基于横向布局但设备是 iPhone 5 并且是纵向的,则您的标签可以在屏幕外运行。这是 Pin 菜单:
希望这是有道理的,并为问题提供更多色彩。如果您有任何问题,请告诉我,谢谢大家的帮助!
【问题讨论】:
-
你好。你知道 Xcode 6 视图调试,对吧? (就像 Reveal。)所以使用 Xcode 6 视图调试来看看这里到底发生了什么。
-
@matt 是的,我一直在试图弄清楚,因为它向我展示了与我在模拟器中运行的不同的东西,所以我不确定发生了什么?我更新了我的问题以显示模拟器与查看调试显示的 2 张额外图片。如果您知道为什么会发生这种情况,请告诉我们。
-
嗯,这看起来正是我在您提出的另一个问题上所建议的 - 问题不是标签,而是表格视图本身太宽了。
-
“我只是将 TableView 拖到了视图控制器中” - 不,你把它拖到了视图控制器的 view 中。现在你必须担心它的大小。视图控制器的视图会自动调整大小,但表格视图不会。那么...对表格视图有什么限制?完全取决于你自己。
-
啊,我看到了你的区别。我没有对表格视图施加任何约束,所以我猜我应该在每一侧放置一个 0 约束?谢谢马特!
标签: ios uitableview storyboard xcode6