UIScrollView可滚动内容大小歧义
资深开发人员,我在Interface Builder(Xcode 5 / iOS 7)中无法使用AutoLayout。这是非常基本和重要的,因此我认为每个人都应该知道它是如何正常工作的。如果这是Xcode中的错误,那就是关键! 因此,每当我拥有这样的视图层次结构时,我都会遇到麻烦: >UIViewController >> UIView >>>UIScrollView >>>>UILabel (or any other comparable UIKit Element) UIScrollView具有固定的约束,例如,每侧50 px(没有问题)。然后,我向UILabel添加一个Top Space约束(没问题)(并且我甚至可以固定标签的高度/宽度,什么都没有改变,但是由于Label的固有尺寸而不必要) 当我向UILabel添加尾随约束时,麻烦就开始了: 例如,尾随空格到:Superview等于:25 现在出现两个警告-我不明白为什么: A)可滚动的内容大小含糊(滚动视图具有模糊的可滚动内容高度/宽度) B)位置错误的视图(标签期望:x = -67实际:x = 207 我在一个全新的项目中做了这个最小的示例,您可以下载该项目,并附上了屏幕截图。如您所见,Interface Builder期望Label位于UIScrollView的边界(橙色虚线矩形)之外。使用“解决问题”工具更新标签的框架将其移到那里。 请注意:如果将UIScrollView替换为UIView,则行为符合预期(Label的框架正确且根据约束)。因此,UIScrollView似乎有问题,或者我错过了一些重要的东西。 当我运行应用程序而未按照IB的建议更新Label的框架时,它的位置恰到好处,恰好位于其应有的位置,并且UIScrollView可滚动。如果我更新框架,则标签将不可见,并且UIScrollView不会滚动。 帮我Obi-Wan Kenobi!为什么布局不明确?为什么视图放错了位置? 您可以在此处下载示例项目,然后尝试确定是否发生了什么情况:https : //github.com/Wirsing84/AutoLayoutProblem