我整个上午一直在努力奋斗超过3个小时,我真的疯了!
我正在使用Xcode 4.6为iOS 6创建Storyboard应用。我将UIScrollView
拖放到ViewController上。在设计了Scroll视图的可视部分后,使用它的手柄我将它垂直拉伸并将其向上推一点,以便我可以看到该部分来设计屏幕的其余部分。完成后,我将滚动视图放回到适合视图的位置。但是我没有调整滚动视图的大小以匹配IB视图的大小。
我在viewDidLayoutSubviews
方法中添加了以下代码行(由于Chris的评论为here),因此使用该方法代替viewDidLoad
。
self.scrollView.contentSize = self.view.frame.size;
代码被执行但滚动条不会出现,滚动根本不起作用!我在这里几乎所有的问题和答案都是关于这个,并尝试了一切,但无济于事。
我还附加了可运行的Xcode项目here。
请告诉我应该怎么做才能让这个工作。我对Apple一直感到沮丧。
谢谢。
答案 0 :(得分: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
希望这有帮助。
答案 1 :(得分:1)
UIScrollViews只会在其contentSize大于其框架时滚动。如果它小于或等于它们的框架,它们就会像观点一样。
如果您想测试一下,请尝试:
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width,self.scrollView.frame.size.height+200);