【问题标题】:AutoLayout updates positions automatically when presentedAutoLayout 在出现时自动更新位置
【发布时间】:2015-01-14 03:40:22
【问题描述】:

我有一个包含多个页面的UIPageViewController,每次滚动到新页面时,内容都会略低于top layout guide。但是当视图最终显示给用户/位于中间时,它会向下移动。

我在storyboards 中使用autolayout 来布置我的内容,并且我设置了Top Space to Top Layout Guide: 5p

这似乎只在使用UIPageViewController 时发生——我通常在AutoLayout 上没有这个问题,这不是我第一次使用pageview controller

有谁知道我可以做什么,以便在将视图呈现给用户之前将其正确放置在顶部布局指南下,因此它不会在呈现后立即跳转?

【问题讨论】:

    标签: ios objective-c autolayout uipageviewcontroller


    【解决方案1】:

    原来这是 iOS8 的问题,可以通过使用Top Space to View 而不是Top Layout guide 来解决。

    我希望这对遇到相同问题的其他人有所帮助。

    【讨论】:

      【解决方案2】:

      对于可能遇到此问题的其他人。我能找到与此相关的最佳答案是在这个 SO 响应中,

      [问题]iOS 8 UIPageViewController Applying Constraints After Transitions

      这个问题是因为在 iOS 8 中默认的自动布局行为是对齐到边距,而在之前的 iOS 版本中它是对齐视图边缘。直到 pageviewcontroller 完成动画后才会计算边距,这就是导致视图跳跃的原因。

      但是,可以通过取消选择每个约束的对齐到边距来修复它。希望这对任何人都有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-31
        • 2012-03-06
        • 2012-03-04
        • 1970-01-01
        • 2020-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多