Ios 如何让UIScrollView滚动

Ios 如何让UIScrollView滚动,ios,uiscrollview,swift,Ios,Uiscrollview,Swift,我一直在尝试让UIScrollView滚动,我使内容大小比视图大,但它没有滚动。我可以启用bounceVertical,这很好 scrollView.frame = CGRect(x: 0,y: 0,width: 320,height: 420) scrollView.contentSize = CGSize(width: 320,height: 568) scrollView.scrollEnabled = true scroll

我一直在尝试让UIScrollView滚动,我使内容大小比视图大,但它没有滚动。我可以启用bounceVertical,这很好

        scrollView.frame = CGRect(x: 0,y: 0,width: 320,height: 420)
        scrollView.contentSize = CGSize(width: 320,height: 568)
        scrollView.scrollEnabled = true
        scrollView.alwaysBounceVertical = true
为什么滚动视图不能滚动

编辑:


此代码工作正常,需要禁用自动布局以更改滚动视图的内容大小。

发生这种情况的原因通常是半透明的
UINavigationBar的
。或者“自动布局”有时会根据视图和
UIScrollView
的位置自动执行此操作

解决:
  • 最简单的方法是禁用自动布局(这两种情况下都会解决问题),或者如果不需要,可以在
    UINavigationBar
    中关闭半透明

  • 如果您需要这两种功能,并且无法牺牲其中任何一种功能,则使用
    contentInsets
    来“取消偏移”。(此解决方案被认为是非常粗糙和肮脏的)


  • 如果要启用自动布局,应在
    viewdilayoutsubviews()

    中设置ScrollView
    contentSize
    是否使用自动布局和情节提要?使用情节提要,而不是自动布局。滚动视图附加到情节提要中的滚动视图。它的定义是:
    @IBOutlet var scrollView:UIScrollView
    您测试的是哪个iOS版本?iOS 8是吗?是的,在Xcode-6 Beta 1上的iOS 8尝试升级到Beta 2。这段代码似乎很好用。谷歌是你的朋友,真的吗?