Kal*_*zem 6 xcode uiscrollview uiview ios autolayout
免责声明:我看到了一种SO技术,其中包括向UIScrollView添加UIView(称为contentView)并将所有内容放到此contentView中.我不想使用这种技术,因为我想了解为什么我遇到了当前的问题.
我在UIViewController的默认UIView上有一个UIScrollView,它的UIScrollView有4个约束:每边一个(尾部,顶部,前导,底部),所以它粘贴到它的父UIView. 这有效!
但是当我想在UIScrollView中添加一个UIImageView并希望它粘贴到它的父边(尾随,顶部,前导)+特定高度时,现在我遇到了问题.
它说:
Scroll View: Has ambiguous scrollable height
Scroll View: Needs constraints for: X position or width
Run Code Online (Sandbox Code Playgroud)
小智 7
xcode抛出这些错误的原因是因为它无法在运行时计算UIScrollView
和UIImageView
构造.
当您UIScrollView
为其超级视图添加相关的约束时,它会告诉xcode绘制与其超级视图一样大的滚动视图.但是,当您添加UIImageView
与UIScrollView
大小相关的约束时,它会告诉xcode绘制与UIScrollView
内容大小一样大的图像视图.请注意,UIScrollView
尺寸和内容大小是两回事.
如果我们把它想象成一个房子,滚动视图大小基本上是窗口大小,它是一个大小,你可以用它来看到房子的内部.内容大小是房子的大小.这就是滚动视图的大小和内容大小之间没有关系的原因.
您可以通过两种方式解决问题,首先通过编程方式或使用IB设置滚动视图内容大小.虽然,我不确定如果以编程方式设置它会使警告静音.您可以按照此处的答案在IB中进行设置.第二种方法涉及为您的增加更多约束UIImageView
.通过添加底部约束和宽度约束,xcode可以计算UIScrollView
内容大小,这将删除此警告.
归档时间: |
|
查看次数: |
8694 次 |
最近记录: |