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 的大小

UIScrollView 根本不滚动

UIScrollView 根本不滚动

在 Swift 中以编程方式添加时,UIScrollView 根本不滚动?

何时使用 UITouch 与 UIScroll

UIScroll 视图未按预期工作