使用UIScrollView进行Autolayout

问题描述 投票:1回答:2

我在Xcode中使用autolayout并创建了一个相当高的(1300px)ViewController,带有uiscrollview来上下导航。我使viewcontroller自由形式,因此其尺寸为[375,1300]。然后我合并了scrollview,添加了内容视图以及所有子视图和约束所有内容,不留下任何约束错误。在运行时没有错误,但是当我打算使它非常高(~1300px)并且可滚动时,所有内容都被刷成正常的屏幕大小。关于我做错了什么的任何线索?

下面的图表显示了以下问题:

  1. 外部黑匣子是视图控制器的视图
  2. 内部黑匣子是子视图
  3. 和蓝框是屏幕上显示的内容

picture describing my question

ios xcode uiscrollview autolayout
2个回答
2
投票

是的,你正确的@Ryan Cocuzzo。我认为您需要将子视图优先级设置为1000到250.请参阅下面的屏幕截图。

1)选择子视图的高度约束

2)然后去展示尺寸检查员

enter image description here

3)现在将优先级约束从1000更改为250。

enter image description here

4)最后你会这样

enter image description here


0
投票

确保以下内容属实:

  1. 4个内容视图是UIScrollView的子视图,而不是视图控制器。
  2. 4个内容视图的自动布局约束必须仅引用UIScrollView,而不是视图控制器的视图。
  3. 第4个框不能有底部约束。

看起来第4个框有一个约束,使其底部与视图控制器视图的底部对齐。这将迫使其他观点一起酝酿。第4个框也不能有底部约束,以便scrollview可以调整自身大小以包含它的子视图。

© www.soinside.com 2019 - 2024. All rights reserved.