繁体   English   中英

UIScrollView中的UIView无法滚动

[英]UIView in UIScrollView not scrolling

我正在使用Xcode故事板界面生成器,并且使用UIScrollView创建了一个视图控制器,该UIScrollView仅具有一个子UIView。 此子UIView具有许多附加的标签/按钮等,并且超出了屏幕尺寸的高度,但是,当我运行我的应用程序时,由于某种原因视图不会滚动。

这是ViewController结构的图片: UIScrollView中

我究竟做错了什么?

您需要设置UIScrollView的contentSize属性。 您可以以编程方式(例如,在viewDidLayoutSubviews )或在界面构建器的身份检查器面板中的“用户定义的运行时属性”下执行此操作。

实际大小取决于您的内容。 您可以使用以下方式以编程方式进行计算:

CGRect contentRect = CGRectZero;
for (UIView *view in self.scrollView.subviews) {
    contentRect = CGRectUnion(contentRect, view.frame);
}
self.scrollView.contentSize = contentRect;

它将找到包含UIScrollView视所有帧的最小CGRect

可以通过编程方式设置contentSize ,但是您不需要,也不必。 相反,请确保您具有足够的约束条件,以使滚动视图的子视图可以计算出确切的总宽度和高度。 如果您没有定义足够的约束来执行此操作,则Interface Builder将显示错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM