2

我整个早上都在为此苦苦挣扎 3 个多小时,我真的快疯了!

我正在使用 Xcode 4.6 为 iOS 6 创建一个 Storyboard 应用程序。我将 a 拖放UIScrollView到 ViewController 中。在设计了 Scroll 视图的可视部分之后,我使用它的手柄将它垂直拉伸并向上推了一点,以便我可以看到该部分来设计屏幕的其余部分。完成后,我将滚动视图放回以适应视图。但我没有调整滚动视图的大小以匹配来自 IB 的视图大小。

我在方法中添加了以下代码行viewDidLayoutSubviews(使用该方法而不是viewDidLoad因为 Chris在这里的评论)。

self.scrollView.contentSize = self.view.frame.size;

代码被执行,但滚动条不会出现,并且滚动根本不起作用!我在这里经历了几乎所有关于此的问题和答案,并尝试了一切但无济于事。

我也在此处附加了可运行的 Xcode 项目。

请告诉我我应该怎么做才能让它工作。我永远对苹果感到沮丧。

谢谢你。

4

2 回答 2

5

不过这很容易。删除 viewDidLayoutSubviews 方法并用以下代码替换 viewDidLoad。高度 672 现在是硬编码的.. 但它会根据滚动视图中的内容而改变。

- (void)viewDidLoad
{
    [super viewDidLoad];
     self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 627);
    self.scrollView.frame = self.view.frame;
}

在情节提要中,执行以下步骤 1. 选择查看并转到尺寸检查器。2. 从约束中选择底部空间。3. 编辑底部空间约束并将常量值设置为 0(它是 -211)。

链接更新源代码:http ://www54.zippyshare.com/v/37137086/file.html

希望这可以帮助。

于 2013-03-20T06:25:25.983 回答
1

UIScrollViews 只有在 contentSize 大于它们的 frame 时才会滚动。如果它小于或等于它们的框架,它们将就像视图一样。

如果你想测试一下,试试:

self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width,self.scrollView.frame.size.height+200);
于 2013-03-20T06:13:15.733 回答