当我尝试在 iOS 7 和 Xcode 5 中使用 UIScrollView 时,它不响应垂直滚动。我首先从对象库中拖放ScrollView到storyboard,设置它的大小为width = 320和height = 1500,然后拖放三个标签,并将这些标签定位在y = 300, 800, 1200。对于y坐标的标签等于 800 和 1200,我首先将 scrollview 移动到上层以使这些对象位于相应的 y 值。然后,我将 scrollview 作为 outlet 连接到实现文件,并在 viewDidLoad
方法中,我编写了 self.myScrollView.contentSize = CGSizeMake(320, 1500)
。最后将 scrollview 的大小设置为 width = 320 和 height = 568。
然后运行模拟器,但它对垂直滚动没有反应。然后我取消选择 use autolayout
并再次运行模拟器,它仍然根本无法工作。
那么我该如何解决这个问题呢?或者谁能告诉我有关 iOS 7 和 Xcode 5 中 UIScrollView 的任何有用教程(这很重要,因为我读过的每个教程都是基于以前的版本)?
我使用 Xcode 5.0.2。
谢谢。
最佳答案
这是 self 回答
我将 self.myScrollView.contentSize = CGRectMake(320, 1500);
从 viewWillAppear
更改为 viewDidLoad
,然后运行模拟器,然后由于某些原因,滚动现在正在工作。正如我在原帖中所说,我首先将其写在 viewDidLoad
中,并在阅读 kkocabiyik 的回答后将其移至 viewWillAppear
中。我不确定为什么我的原始代码不起作用 - 可能是因为我在从 Mani 和 Rashad 那里获得很多帮助的过程中稍微修改了我的代码,但同时将上面的代码保留在 viewWillAppear
中时间。
对于那些将来会陷入同样的陷阱并遇到这个问题的人,我已经能够从这个设置中解决这个问题:
- 在
viewDidLoad
中编写 - 将 Storyboard中的 UIScrollView 作为 IBOutlet 属性连接到 myScrollView
- 不使用自动布局
- 将 x = 0, y = 0, width = 320, height = 568 设置为 Storyboard中的 ScrollView
self.myScrollView.contentSize = CGSizeMake(320, 1500);
还要注意,使用自动版式是行不通的。此外,在 viewWillAppear
中使用自动布局和设置 contentsize 也不起作用。
我想感谢所有帮助我解决这个问题的人。谢谢。
关于ios - 尽管不使用自动布局,但垂直滚动在 UIScrollView 和 iOS7 和 Xcode 5 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21015490/