0

这似乎是一个很常见的问题,但无论我做了哪段代码或更改,我都无法让它工作。我有一个非常简单的例子,我正在研究。

Storyboard 设置为 4" 纵向。UIScrollView 320px 宽 x 440px 高。它包含一个 320px 宽 x 900px 高的 UIView。应用程序仅锁定为纵向,但需要在 3.5" 和 4" 屏幕上工作。

我需要做什么才能让 UIView 在 UIScrollView 中垂直滚动?我需要设置一个约束吗?Clip Subviews 和 Autoresize Subviews 应该设置为什么,它有什么不同吗?应该将查看模式设置为什么,它有什么不同吗?我是否需要以编程方式重置 UIScrollView 的 ContentSize?如果是这样,这是在 ViewDidLoad 事件上完成的吗?

我尝试向 UIView、UIView 的底部元素和 UIScrollView 本身添加垂直约束。我以编程方式设置内容大小以匹配 UIView。

我已经在各种其他工具中构建了 UI,这只是让我为如此简单的事情而发疯。如果我关闭自动布局,它可以正常工作,但这不是我正在寻找的解决方案。

4

2 回答 2

4

Ended up getting this answer to work. https://stackoverflow.com/a/16029013/1342779

Specifically my code in the viewDidLoad method:

[_scrollView addConstraint:[NSLayoutConstraint constraintWithItem:_innerView
                                                           attribute:NSLayoutAttributeBottom
                                                           relatedBy:NSLayoutRelationEqual
                                                              toItem:_scrollView
                                                           attribute:NSLayoutAttributeBottom
                                                          multiplier:1.0
                                                            constant:0]];
于 2013-11-11T05:42:10.697 回答
0

看看这个视频。此外,您也可以尝试有问题​​地设置滚动视图的内容大小。

// For verical scrolling
scrollView.contentSize = CGSizeMake(viewToScroll.width, viewToScroll.height * numberOfPages);

// For horizontal scrolling
scrollView.contentSize = CGSizeMake(viewToScroll.width * numberOfPages, viewToScroll.height);
于 2013-11-11T04:22:00.190 回答