【问题标题】:Embedded scrollview in tabbar item using storyboards won't scroll使用情节提要的标签栏项目中的嵌入式滚动视图不会滚动
【发布时间】:2013-11-19 22:18:25
【问题描述】:

对于我当前的项目,我想使用故事板和自动布局,而不是手动编写所有代码。到目前为止进展顺利,但我的设计有一个应用程序部分,其中有一个选项卡栏,其中一个选项卡需要显示四个视图。设计是在四个之间滑动,所以我想使用滚动视图。经过反复试验,我发现在选项卡中嵌入一个容器视图可以让我轻松设置一个滚动视图并在其中放置几个​​视图,使用定位仔细对齐它们,将它们并排放置,以便每一页都是一个子视图。我不确定它如何与自动布局一起使用,实际上我遇到的问题是滚动视图不会滚动到第一页位置。我可以将大约 1/3 的第二页拖到视图中,但它永远不会将该页完全显示在视图中。

我检查了内容大小和偏移量以及所有视图位置,这一切似乎都是正确的。当我使用 Spark Inspector 将滚动偏移更改为第二个视图/页面的位置时,应用程序会显示正确的页面/视图,我什至可以滚动回第一页。我有点困惑是什么导致它无法正确滚动。我没有任何代码要显示,因为这一切都在情节提要中完成,但我想知道是否有人对出了什么问题有任何想法?

另外,有没有人知道如何使用自动布局和情节提要在标签中设置滑动四个相邻视图?我怀疑有办法做到这一点。我可以想办法在代码中做到这一点,但我试图避免那样做。

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

【问题讨论】:

    标签: ios uiscrollview uistoryboard


    【解决方案1】:

    由于缺乏任何其他答案,我将使用我不满意的解决方案作为答案,希望将来对其他人有所帮助:

    我将滚动视图委托设置为它周围的视图控制器,并检查了scrollViewWillBeginDraggingscrollViewDidScroll 上的contentSize 的值。它始终设置为{0,0},即使我在 viewDidLoad 上强制设置它也是如此。所以我尝试在每次调用scrollViewWillBeginDragging 时设置它,这似乎有效。

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

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 2020-05-31
      • 1970-01-01
      • 2017-02-09
      • 2012-11-04
      • 2017-02-06
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      相关资源
      最近更新 更多