我觉得我对每一个可能的原因感动停止这一点,但我有我的故事板一个UIScrollView迷上了一个出口,并在viewDidLoad中我设置了contentSize,这样我可以滚动(是不是我的帧大小大)!
不过,无论我改变,我只是不能滚动!我有几个文本框的滚动视图我的弹跳和启用,所以我可以看到,在它与我的子视图向上和向下测试其移动,但无论当我设置contentSize到我不能滚动。
什么我可能会丢失/应检查?这是一个已知问题的UIScrollView在故事板被使用?
什么更奇怪的是,我可以做这样的事情:[scrollView setBackgroundColor:[UIColor blueColor]];
,我有一个蓝色的滚动视图!但是设定内容大小失败。
我唯一的代码(否则滚动视图只是投进故事板视图控制器):
-(void)viewDidAppear:(BOOL)animated
{
[scrollView setContentSize:CGSizeMake(320, 640)];
}
登录框,出来的预期:
width: 320.00
height: 504.00
原来,除去我的故事板滚动视图中的任何子视图让它滚动就好了。如果我在所有通过故事板的任何子视图添加到它,甚至是空白的全新的UIButton它只是将不适用contentSize /允许滚动。
使用ViewDidLayoutSubview
- (void)viewDidLayoutSubviews
{
[_scrollView setContentSize:CGSizeMake(320, 500)];
}
UIViewController的方法调用序列如下
viewDidLoad中是不把依靠IB对象的帧大小码的好地方。如果您需要登录viewDidLoad中滚动视图的contentSize,你会发现它是(0,0)。代码(你设置的内容的大小)移动到viewDidAppear,它会正常工作。
检查这些
例如
scrollView.contentSize = CGSizeMake(320, 640);
我的故事板看起来像这样了滚动[工作]
我有完全相同的代码在同一行中viewDidAppear并没有奏效
它搬到viewDidLayoutSubviews,它工作正常。
[scrollView setContentSize:CGSizeMake(320, 500)];
感谢trick14的答案。
问题是最有可能与自动布局。使用的UIScrollView自动版式时需要特别注意。
速战速决 - 绑定滚动的子视图到它的顶部和底部空间的一个是上海华(滚动视图)。
龙的故事:在做题:qazxsw POI,qazxsw POI,qazxsw POI
苹果的文档:UIScrollView not scrolling regardless of large contentSize
Trip14的回答为我工作。在SWIFT我编写它:
UIScrollView will not scroll, even after content size set
这似乎是一个类似的问题。 UIScrollView doesn't use autolayout constraints
这可能是在故事板自动布局或限制的问题。