垂直滚动视图,有三个屏幕大小的视图

时间:2014-06-20 19:33:06

标签: ios uiview uiscrollview constraints autolayout

我正在使用UIScrollView和三个UIViews创建垂直滚动应用程序。到目前为止,我已使用height和一些简单的代码手动设置滚动视图的三个视图和contentsize的{​​{1}}。但是,现在是时候将它调整到3.5英寸的屏幕了。

我尝试使用storyboard并在故事板中设置约束,但这并没有太好用。我收到有关autolayoutexpected height=0 actual height=504的所有错误/警告。

这是我的设置:

scrollview has ambiguous scrollable content

基本上,这就是我想要实现的目标:视图中的内容固定在它们所在的UIView上的某些位置。非常标准的东西。 现在,三个UIView中的每一个都应该是iPhone屏幕的大小,并且位于彼此正下方。这样,一个视图一次填满屏幕,用户可以滚动到锁定到位的下一个视图。 UIScrollView的大小应该是屏幕的大小,但是,内容大小应该是放在一起的三个视图的高度。

我怎样才能做到这一点?我更喜欢使用故事板的解决方案,因为我习惯在那里布置应用程序。

任何帮助将不胜感激!

提前致谢!

图片:

Layout Storyboard

1 个答案:

答案 0 :(得分:0)

当autolayout错误计算约束时,预期高度= 0。您始终可以更新约束,以便获取设置值。 此外,对于垂直滚动来执行它的动作,必须在代码中更改内容大小。 而不是设置  self.scrollView.contentSize = CGSizeMake(self.view.bounds.size.width,self.view.bounds.size.height * 5); 在 - (void)viewDidLoad尝试将其设置为 - (void)viewDidAppear