2013-10-18 50 views
7

我是故事板新手;我之前已经完成了一些Interface Builder以及大量的手动UI定位。我搜索了这个问题,尝试了解其他相关帖子中找到的解决方案,但无济于事。UIScrollView不会滚动(Storyboards)

我有一个视图控制器,在Storyboard中添加了UIScrollView。 ScrollView插座已连接,属性合成。滚动启用被选中。弹跳被检查。即使那样,也没有迹象表明会发生任何滚动。当我检查垂直反弹时,我至少可以看到可滚动的内容,但是在我释放后它会反弹回来。我发现帧尺寸设置为320和521.我尝试了不同的高度,但没有任何帮助。 (应该是故事板中设置的大小,以容纳较旧和较新的手机尺寸?)。

在viewDidLoad中,我加入

[scrollView setContentSize:CGSizeMake(320, 1000)]; 

日志声明事后证实,该值已被接受。但它也没有帮助。

在一个有人张贴建议增加:

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(320, 808)]; 
} 

这有崩溃的程序控制器加载时的效果。

任何帮助将不胜感激!

谢谢。

+0

也许你有另一种观点,涉及滚动和接触而不是它? –

+0

使您的视图控制器成为UIScrollViewDelegate的代表。它带有大量的方法,你可以测试你的scrollView是否能够触及。检查这里的文档https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html – Priyatham51

+0

嗨Grzegorz,只有一堆标签和文本字段的滚动视图顶部,据我所知。 –

回答

15

两件事情竟然是必要的:

1)设置滚动视图的高度,以480

2)添加约束至最低的字段中滚动视图。约束是Pin >> Superview的底部空间。

+3

2)在StoryBoard中很重要! – Sars

+1

我也通过向我的UIScrollView添加正确的约束来解决这个问题。 –

+0

非常感谢,它节省了很多时间..... – susant

6

只需添加下面的方法:

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(320, 1700)]; 
} 

这是工作完美的我。

+0

这就是问题:(void)viewDidLayoutSubviews。人们(包括我)在错误的地方写入“self.scrollView setContentSize”,在(void)viewDidLoad或其他地方。重复:这是问题,地方(无效)viewDidLayoutSubviews。 – Markus