UIScrollView不滚动?

67c*_*ies 11 iphone cocoa-touch objective-c uiscrollview ios

我有一个UIScrollView在Interface Builder创建了一堆UITextViewUIImageView对象已经添加.我把它连接到一个IBOutlet,并在-(void)viewDidLoad我设置其内容大小1200x2000.用户交互已启用,多点触控,滚动已启用并显示垂直和水平滚动指示器均已设置为YES.当我在iOS模拟器中启动应用程序时,它不会滚动.可能是这种行为的原因是什么?

Nen*_*d M 21

  1. viewDidLoad即将推出.您必须等到视图布局发生后才能进行.尝试在viewDidAppear中设置contentSize.

  2. 你在使用autolayout吗?如果是这样,请查看以下答案(并忘记1): UIScrollView不使用自动布局约束.


Ran*_*ith 9

我知道如何在不诉诸编写代码的情况下克服这个问题的最好方法是,它可以在故事板中完成,具体如下:

  1. 启用自动布局.
  2. 使通用UIView成为UIScrollView的子视图.2.1)将所有View组件放在此通用UIView中.
  3. 在子视图和UIScrollView之间建立自动布局约束.您必须将最后一个子视图的右侧和/或底部固定到UIScrollView的右侧和/或底部.这就是UIScrollView知道内容大小的方式.