我有一个具有子视图的UITableViewCell,其中包含一个图像视图和一个标签。我想使用子视图作为在单元格内容周围给出一些余量的方法,从而在单元格之间给出边距。这似乎是很多人在网上推荐的方式。
我已经设置了我的约束,如下所示:
我在视图控制器中的所有视图上执行了更新帧。故事板显示它正如我期待它在手机上。当我在手机上运行时,我明白了......
我在这一点上完全感到困惑。我花了两天的时间阅读并试图布局一个简单的UITableViewCell,显然没有很好地理解自动布局的工作方式。
我甚至只是沿着建议的边界(蓝线)铺设了所有东西,然后告诉故事板产生建议的约束。此时,单元格的内容刚刚从屏幕右侧发出50%,并且无法查看。
所以有两个问题:
故事板经常向我展示一些在我的实际设备上没有准确表示的东西。这在iOS开发中相当常见吗?我是否应该完全依赖故事板自动布局表示?
为了让单元格在我的设备上进行布局,我需要对这些约束做些什么,就像我的故事板中显示的那样?我设置错误有什么限制?
答案 0 :(得分:1)
默认情况下,Storyboard不会根据任何设备显示内容。您可以在其大小属性中将其设置为当前设备(默认情况下,它是“推断”)。约束用于在所有设备上显示相同的视图。它们会根据显示大小自动调整UIelements。因此,如果您希望应用程序在不同大小的设备上运行,则必须依赖约束。
我认为你设置的限制太多了。如果您不熟悉自动布局,则会发生这种情况。请尝试阅读this指南。它非常有帮助。