【发布时间】:2017-07-30 18:45:49
【问题描述】:
我有一个滚动视图,它根本不滚动:
scroll_view_content_a_job.contentSize.height = 1800
scroll_view_content_a_job.isScrollEnabled = true
【问题讨论】:
标签: ios xcode uiscrollview autolayout
我有一个滚动视图,它根本不滚动:
scroll_view_content_a_job.contentSize.height = 1800
scroll_view_content_a_job.isScrollEnabled = true
【问题讨论】:
标签: ios xcode uiscrollview autolayout
您在滚动视图中使用约束,因此内容大小由约束决定,而不是通过在代码中设置contentSize。您需要修复约束,以便它们从滚动视图的内向外调整内容的大小。滚动视图的顶部子视图需要固定到滚动视图的顶部,底部子视图需要固定到滚动视图的底部,并且两者之间的所有视图都需要相互固定,以这样一种方式来指示所需的内容大小高度。但是滚动视图本身需要固定到它的父视图上,这样它就不会比屏幕高。换句话说,当滚动视图inside的约束高度总和大于滚动视图的约束高度时,这将起作用。
【讨论】:
1,2,3,4,5 的组合高度将隐式创建 contentsize 的高度,而 1、2、3、4、5 之间的最大宽度将创建 contentSize 的宽度。这通常很难做到。 2. 指定contentSize只是将视图转储到scrollView的containerView中。容易多了。
问题在于约束。请按以下步骤操作:
在滚动视图中添加容器视图,并使用滚动视图设置容器视图的顶部、底部、前导和尾随约束。不要设置此容器视图的高度。在此容器视图中添加其他视图。容器视图的高度将根据容器视图的子视图进行调整。容器视图的子视图高度不应该与容器视图成比例,它应该与滚动视图成比例。
还要确保您已将容器视图的顶部和底部设置为其子视图
【讨论】: