UIScrollView不能高度滚动
我有UIScrollView在其中的控制器,并在iPad版本没有滚动从底部。 我明确地设置内容大小高度:
CGSize newSize = CGSizeMake(self.view.bounds.size.width-4, 2500); // assume self is the content view CGRect newFrame = (CGRect){CGPointZero,newSize}; // Assuming you want to start at the top-left corner of the scroll view. Change CGPointZero as appropriate [self.mainScroll setContentSize:newSize];
即使在debugging器,当我打印scrollView
描述我看到以下内容:
<UIScrollView: 0x7fc12486e400; frame = (0 0; 768 960); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7fc1259cf830>; layer = <CALayer: 0x7fc1259a45e0>; contentOffset: {0, 765}; contentSize: {764, 2500}> (lldb)
正如你所看到的,内容大小设置为2500,但是,我不能滚动任何东西。 我明确检查,启用滚动是YES ..
另外,主滚动视图被绑定到主视图,约束如左上angular,右下angular,值为0.但是,即使我增加自我视图的高度,仍然没有效果。
如何强制它滚动?
问题是你正在使用自动布局。 尝试在代码中设置自动布局下滚动视图的contentSize
将失败。 在自动布局下滚动查看内容大小的工作方式完全不同:用作滚动视图的唯一直接子视图的容器视图,按内容大小的内部约束进行大小调整,并在滚动视图的所有四边constant
为零。