界面生成器中带有空 UIStackView 的 UIScrollView 的约束错误
Posted
技术标签:
【中文标题】界面生成器中带有空 UIStackView 的 UIScrollView 的约束错误【英文标题】:Constraint error for UIScrollView with an empty UIStackView in Interface Builder 【发布时间】:2016-09-19 07:12:34 【问题描述】:我正在关注 Stack View Apple tutorial 的“动态堆栈视图”部分,如果我离开 UIStackView
(在 @ 987654327@) 为空,而不是在其中放入 UIButton
。我希望我的UIViewController
动态创建所有arrangedSubviews
,所以我不想在其中留下一个UIView
,我只需要以编程方式处理或删除。
我可以忽略该错误,它仍然可以按我的意愿工作,没有运行时约束错误。但是,我不想在我的 xib/nib 中留下约束问题。
满足 Interface Builder 的最简洁的方法是什么?如果我添加一个具体的高度约束,那么我必须为其创建一个出口并以编程方式将其删除。这似乎过于侵入,我宁愿在 xib/nib 中保留尽可能多的自动布局。
【问题讨论】:
【参考方案1】:事实证明,为了满足 Interface Builder,UIScrollView
的内容需要有一个高度,并且它不会假定高度为 0
。所以由于UIStackView
是内容视图,它需要有一个高度。即使在运行时它会有内容,因此有高度,Interface Builder 也需要有一个后备。因此,请设置 Intrinsic Size。
它在尺寸检查器的底部:
将 Intrinsic Size 从 Default (System Defined) 更改为 Placeholder 并将 Height 设置为您想要的任何值.在 Interface Builder 中进行设计时提供足够大的帮助可能是个好主意。您可以将 Width 设置为任意值,或选中 None 复选框。
【讨论】:
感谢您在这里发布您的解决方案!以上是关于界面生成器中带有空 UIStackView 的 UIScrollView 的约束错误的主要内容,如果未能解决你的问题,请参考以下文章
swift2.0中带有UIKeyboard的UIStackview