【发布时间】:2016-03-22 01:32:45
【问题描述】:
我有一个带有多个视图控制器的情节提要,其中几个具有带有嵌入式视图控制器的容器视图。直到最近,嵌入式视图控制器根据其容器视图的大小正确地在故事板中调整自己的大小。但现在它们都显示为 600 x 600(这不是任何容器的大小)。当我运行应用程序时,它们确实假定了正确的尺寸。
有没有办法恢复故事板中的默认行为? (这可能是什么原因造成的?)(XCode 7.2)
【问题讨论】:
-
请问您为什么在意?实际大小将在运行时确定,子视图的位置和大小将由它们的约束确定。如果您的设计工作做得很好,则不应依赖于以任何特定尺寸显示的视图——这正是“中性”600x600 形状所暗示的内容。跨度>
-
(1) 它会导致大量关于帧大小在运行时不同的编译器警告,掩盖了我们可能关心的实际情况; (2) 如果嵌入式控制器的相对大小和位置正确反映在情节提要中,则布局复杂且使用起来更快; (3) 这不是 Apple 的默认行为,我想知道是什么原因造成的。
-
“如果嵌入式控制器的相对大小和位置正确反映在情节提要中,则使用它们会更快”好吧,您所要做的就是切换到 Freeform,您可以拥有任何容器大小你想要的。
-
容器大小均正确,所有自动布局约束均正常工作。问题是嵌入其中的视图控制器不是其容器的大小。嵌入式视图控制器(展示到由它们的嵌入 segues 链接的一侧)应该自动假设容器的大小(这是默认的故事板行为),但它们突然停止这样做了。
-
我明白这一点。我不知道为什么会这样;如果我这样做了,我会回答的。我不回答。我在评论。在我的 cmets 中,我建议解决方法。一个人可能不用担心。另一个可能是自己调整视图控制器的大小,我已经告诉过你如何做到这一点。这些建议中的任何一个(或两个)至少可以让您继续生活。
标签: ios objective-c xcode uistoryboard uicontainerview