UIScrollView 根本不滚动
Posted
技术标签:
【中文标题】UIScrollView 根本不滚动【英文标题】:UIScrollView not Scrolling at all 【发布时间】:2016-11-10 07:04:37 【问题描述】:我已经尝试了几个 s.o 线程,但没有一个为我解决了这个问题。我有一个不允许我滚动它的“containerScrollView”。我尝试使它比视图的内容更长或更短,但这要么不起作用(更长),要么将整个视图变成白色(更短)。在 iPhone 5 上,我仍然只能看到第三个标签,而我需要能够向下滚动到“关于”部分。建议?谢谢]1
【问题讨论】:
你是否为滚动视图设置了约束? scrollview 内容大小必须大于您的屏幕大小,然后才能滚动。 这可能会有所帮助:spin.atomicobject.com/2014/03/05/uiscrollview-autolayout-ios 【参考方案1】:试试这个
override func viewDidLayoutSubviews()
super.viewDidLayoutSubviews()
scrollView.contentSize = CGSize(width:self.view.bounds.width, height: 1430)
【讨论】:
【参考方案2】:似乎您的滚动视图在情节提要中的高度过高。只需使其高度与设备高度相同。然后以编程方式设置滚动视图的内容大小。无论是在
scrollView.contentSize = CGSize(width:self.view.bounds.width, height: (任意高度))
【讨论】:
【参考方案3】:UIScrollView
在添加约束时很棘手。您应该始终添加UIView
作为UIScrollView
的内容视图。你的层次结构应该是这样的-
|---UIScrollView
|---Content View
|---UIImageView
|---UILabel
|---
将UIScrollView
的前导、顶部、尾部和底部添加到superView
。添加UIView
作为带有前导、顶部、尾随和底部的内容视图。还要将等宽和等高约束从您的内容视图添加到 viewController 视图,而不是您的 UIScrollView
。将高度约束的优先级设置为250
。现在愉快地将所有后续视图添加到您的内容视图中! (确保您的最底部视图与内容视图有一个底部)
或者根据您的屏幕截图,如果您正在制作菜单之类的东西,您应该使用UITableView
。
【讨论】:
以上是关于UIScrollView 根本不滚动的主要内容,如果未能解决你的问题,请参考以下文章
调整容器 uiscrollview 中所有 uiscrollview 的大小