【问题标题】:why is my subview view wont follow constraints using autolayout in interface builder为什么我的子视图视图不会遵循在界面生成器中使用自动布局的约束
【发布时间】:2013-12-26 07:21:32
【问题描述】:

假设我的 MainView(red) 有一个子视图,即 UITextView 和 UIView(green),我希望所有子视图的宽度都与 superview 相同。我添加了一些约束添加它的作品除了 UIView(绿色)。我就是这样做的,请看下面..

默认情况下 MainView 的宽度为 320..

但是当我尝试将 MainView 的宽度更改为 500 时,UIView(green) 不会遵循约束,这与 uitextview 不同。

当我点击警告时(黄色箭头) 这仅显示了 UIView(subview) 的警告约束,但是为什么 UITextView 没有警告我在该视图上错过了任何约束或设置?

编辑: UIView 的约束(绿色)

【问题讨论】:

  • 在 IB 中选择绿色子视图。在其 Size Inspector 中发布约束信息的屏幕截图。
  • @bilobatum 见编辑。 tnx

标签: ios objective-c xcode uiview autolayout


【解决方案1】:

当帧与约束不同步时,可能会发生这种情况。如果您选择视图然后单击“解决自动布局问题”按钮,然后选择“更新视图中的所有帧”(如果您使用情节提要,该选项称为“更新视图控制器中的所有框架)。它应该更新框架以匹配约束。然后对红色视图宽度的后续更改也应该更新绿色视图。

【讨论】:

  • 嗨,这是正确的,但是在我的问题中,我已经设置了所有的约束,我看不到更新框架选项。
  • @Bordz 当您点击“解决自动布局问题”按钮时看不到它?或者它在那里,但只是变灰了?有时,我发现我必须取消选择我正在处理的视图(即点击 IB 工作区的背景),然后重新选择我正在处理的视图。顺便说一句,你使用的是什么版本的 Xcode?​​span>
  • xcode 5,它是灰色的。我认为我对此选项无能为力,因为我正确设置了所有约束? (我猜)呵呵呵呵
  • @Bordz 您可能需要手动调整绿色视图的框架(使其与约束不同步),然后应启用“更新所有框架”选项。顺便说一句,如果 Xcode 表现得很奇怪,(可悲)退出 Xcode 并重新打开项目总是一件好事。
  • 我尝试轻推它,更新框架,重新打开,清理 xcode,仍然没有任何反应。顺便说一句,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-04
  • 2023-03-31
相关资源
最近更新 更多