我一直试图让ScrollView
工作2天,而且根本不起作用。 SO和其他网站上的大多数建议都说您需要将ScrollView
固定到root view
,然后将ContentView (UIView)
置于ScrollView
内,然后将其固定到所有ScrollView
的两侧(以便scroll size
可以确定contentSize
...但这不会做任何事情)。还有相互矛盾的信息,one video表示需要从ScrollView
的底部到ContentView
存在约束。这两种解决方案都不适用于我。以下是我在尝试的大多数组合中所做的事情:
UIView
- > UIScrollView
UIScrollView
的所有边固定到UIView UIView
内创建content view
(将其命名为place
)和UIScrollView
UIView
的所有边都固定到UIScrollView
此时出现问题:UIScrollView
或constraints
和X
或width
Y
需要width
。似乎解决投诉的唯一方法是将UIView
设置在水平和垂直居中的scroll view
内,但这对滚动工作没有任何作用。另一种选择是将UIView
等同于height
和width
设置为scroll view
,但除此之外,除了删除投诉之外,其他任何事情都没有。
我不明白。是不是钉在两边,设置约束? IB
似乎认为情况并非如此。
需要哪些正确的约束?我只需要一个带有堆叠controls
的简单视图(填写表单),如果表单长于scroll
,则屏幕需要能够screen
。
我第一次使用iOS,现在纯粹从IB
构建......最小的代码解决方案是最好的。
答案 0 :(得分:0)
你到了一半。首先,您需要确定要在滚动视图中显示的内容,您已经放置了一个需要具有内在大小的内容视图。您可以选择放置静态或动态视图。静态视图将在设计时定义其大小,这将解析UIScrollView AutoLayout约束。如果您在运行时使用动态视图执行此操作,则需要为内容视图选择默认大小,为视图的宽度和/或高度创建IBOutlet,然后在运行时调整它们以在viewDidLayoutSubviews中更改插座。您链接的视频非常清楚地解释了这一点。