我整个上午都在为这个问题苦苦挣扎 3 个多小时,我真的快要疯了!
我正在使用 Xcode 4.6 创建适用于 iOS 6 的 Storyboard 应用程序。我将 UIScrollView
拖放到 ViewController 中。在设计 ScrollView 的可视部分后,我使用它的 handle 垂直拉伸(stretch)它并将它向上推一点,以便我可以看到该部分以设计屏幕的其余部分。完成后,我将 ScrollView 放回以适合 View 。但是我没有调整 ScrollView 的大小以匹配来自 IB 的 View 的大小。
我在 viewDidLayoutSubviews
方法中添加了以下代码行(使用该方法而不是 viewDidLoad
因为 Chris 的评论 here)。
self.scrollView.contentSize = self.view.frame.size;
代码已执行,但滚动条不会出现,而且滚动根本不起作用!我在 SO 上浏览了几乎所有关于此的问题和答案,并尝试了一切但无济于事。
我附加了可运行的 Xcode 项目 here以及。
请告诉我应该怎么做才能让它正常工作。我永远对 Apple 感到失望。
谢谢。
最佳答案
虽然很简单。删除 viewDidLayoutSubviews 方法并用以下代码替换 viewDidLoad。高度 672 目前是硬编码的。但它会根据 ScrollView 中的内容而改变。
- (void)viewDidLoad
{
[super viewDidLoad];
self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 627);
self.scrollView.frame = self.view.frame;
}
然后在 Storyboard 中,执行以下步骤 1. 选择查看并转到尺寸检查器。 2. 从约束中选择 Bottom Space。 3. 编辑 Bottom space constraint 并将常量值设置为 0(它是 -211)。
链接已更新源代码:http://www54.zippyshare.com/v/37137086/file.html
希望这对您有所帮助。
关于ios - UIScrollView 不会工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15516466/