我正在编写一个ios应用程序,该应用程序具有子视图(如片段或子视图),这些视图位于UIView
中的简单UIViewController
和UIView
的高度约为300px。我只是在UIView
中加载子视图,但每个子视图都有自己的内容,可能不适合300px,因此uiscrollview
无法在最后一个视图中显示。
我的问题是,我无法解决滚动视图内容,以便从子视图控制器子视图中滚动父UIViewController
,因为子视图长度超过300像素,因此uiscrollview
无法获得最后一个元素。
我尝试提供静态scrollview.contentSize.height = 1000
,因此滚动视图可以滚动到屏幕下方,但我无法点击后面的视图,因为它似乎uiscrollview
无法读取该元素。
我的问题是,我如何指定动态uiscrollview
高度,假设我在我的uiviewcontroller
中使用自动布局,并且我想根据我UIViewController
中的子项计算滚动高度。我在故事板中使用swift 2.0和autolayout。
答案 0 :(得分:0)
你的约束应该是,
scrollview - 顶部,底部,前导,尾随
视图(内容视图) - 容器中的顶部,底部,前导,尾随,固定高度和水平居中
并在该视图中添加所有其他内容。你会得到理想的结果。它将以小屏幕尺寸滚动,然后滚动内容视图,不会滚动显示更大的屏幕,然后滚动内容视图。
随着更多子视图的添加,您需要增加内容视图的高度。您的内容视图的高度应该等于所有子视图的高度和间距
在此设置之后,如果您无法滚动,请检查内容视图的底部约束在尺寸检查器中的常量。将其设为零(如果无法仅滚动)。
希望这会有所帮助:)