使用故事板的tabbar项目中的嵌入式滚动视图将不会滚动

时间:2013-11-08 01:29:34

标签: ios uiscrollview uistoryboard

对于我目前的项目,我想使用故事板和自动布局而不是手动编码所有内容。它到目前为止一直很好,但我的设计有一个应用程序的部分,其中有一个标签栏,其中一个标签需要显示四个视图。设计是在四个之间滑动,所以我想使用滚动视图。经过一些试验和错误后,我发现在选项卡中嵌入一个容器视图允许我轻松设置滚动视图并在其中放置几个​​视图,使用定位仔细对齐它们并排放置它们以使每个页面都是一个儿童观。我不确定自动布局如何播放,实际上我有滚动视图不会滚过第一页位置的问题。我可以将第二页的1/3拖到视图中,但它永远不会将该页面全部放在视图中。

我已经检查了内容大小和偏移以及所有视图位置,这一切似乎都是正确的。当我使用Spark Inspector将滚动偏移更改为第二个视图/页面的位置时,应用程序会显示正确的页面/视图,我甚至可以滚动回第一页。我有点困惑于导致它不能正确滚动的原因。我没有任何代码可以展示,因为这都是在故事板中完成的,但我想知道是否有人对错误有任何想法?

或者,是否有人知道如何使用自动布局和故事板来设置在选项卡中滑动四个相邻视图?我怀疑有办法做到这一点。我可以想办法在代码中做到这一点,但我试图避免这样做。

编辑:我将滚动视图委托设置到其周围的视图控制器,并检查contentSizescrollViewWillBeginDraggingscrollViewDidScroll的值。即使我强制将其设置为viewDidLoad,它也始终设置为{0,0}。所以每次调用scrollViewWillBeginDragging时我都尝试设置它,这似乎有效,但我不明白为什么会发生这种情况并且它闻起来不对。是否存在一些可能导致此问题的自动布局约束?在布局过程中是否会导致contentSize设置为{0,0}?

1 个答案:

答案 0 :(得分:0)

由于缺乏任何其他答案,我将使用我不满意的解决方案作为答案,以期在未来帮助其他人:

我将滚动视图委托设置到其周围的视图控制器,并检查contentSizescrollViewWillBeginDraggingscrollViewDidScroll的值。即使在我强制将其设置在viewDidLoad上之后,它始终设置为{0,0}。所以每次调用scrollViewWillBeginDragging时都会尝试设置它,这似乎有效。

如果有人发现,我很想知道contentSize为什么会被重置!