我正在尝试使用最新的xcode实现滚动视图。
我的内容超出了范围,当我运行模拟器时,我无法向下滚动以查看其余内容。
我的层次结构/约束如下。
在“ contentViiew”内的子视图上是否需要约束?我的视图控制器中没有其他代码可以操纵scrollview。
使用Xcode -v 11和Swift -v 5 <-如果有所不同
答案 0 :(得分:1)
请清除contentView上的所有约束,然后按以下步骤进行。对于垂直滚动的scrollView,需要以下约束:
1)约束ContentView使其与scrollView的所有侧面之间的距离为零。
2)将高度和宽度约束与scrollView相等。高度限制具有较低的优先级(例如400)。
子视图的唯一约束是它们都相对于其上方的视图设置了约束。另外,底部子视图应具有底部约束,以使scrollView滚动。
我的意思是,所有UIView都应具有相对的垂直约束。例如,如果从上到下,您有三个视图-A-> B-> C,则需要以下约束- 1)顶到A 2)从A到B 3)从B到C 最重要的是 4)C到底部。 如果在界面生成器中遇到错误,则可以对第4个控件使用“> =”而不是“ =”约束。希望对您有所帮助。
答案 1 :(得分:0)
在宽度为零的滚动视图内添加一个虚拟视图(UIView)。这样设置此视图的约束。
My dummyView Top constraint = scroll view top constraint
My dummyView bottom constraint = scrollView Bottom Constraint
My dummyView leading Constraint = scrollView Leading Constraint
My dummyView Height constraint = give height according to your need (eg 1500)
My dummyView width constraint = 0
现在,只要您想更改滚动视图的高度,就只需更改虚拟视图的高度即可。