【问题标题】:UIScrollView with AutoLayout works perfectly in iOS 6 but not in iOS 7带有 AutoLayout 的 UIScrollView 在 iOS 6 中完美运行,但在 iOS 7 中却不行
【发布时间】:2013-10-10 09:52:12
【问题描述】:

上下文

我正在使用 Storyboards 和 AutoLayout 构建 UIViewController

我的 ViewController 具有以下结构:

我做了什么

我已经为UIScrollView 内的所有视图正确设置了所有布局约束。因此,我为所有视图设置了所有高度和垂直距离约束。我也正确设置了所有 IBOutlets。

问题

当我在 iOS 6 上运行它时,它就像一个魅力。但是,在 iOS 7 上运行时,它不会。当我尝试滚动视图时,我可以看到垂直滚动指示器向下移动(以一种奇怪的方式,因为当我向下滚动时它变小了)。

对正在发生的事情有什么想法吗?

【问题讨论】:

  • 您是否阅读过 iOS 7 从 iOS 6 的变化?
  • 是的。我读了。我的问题可能与此处报告的相同(stackoverflow.com/questions/18751742/…)。但我不想删除自动布局。我看到可以让系统根据其约束自动计算滚动视图内容大小。但我不知道为什么会在这里发生。你有一些链接/信息/提示要提供吗?

标签: ios objective-c uiviewcontroller uiscrollview autolayout


【解决方案1】:

Apple 在 2013 年 5 月发布了 TN2154,标题为“UIScrollView 和 Autolayout”。它可能包含解决此问题所需的信息。它包括“混合方法”(即通过关闭视图层次结构的一部分的自动布局约束)和“纯自动布局方法”,它需要在代码中为滚动视图的子视图声明额外的约束,因此它们不依赖于滚动视图的布局的大小。很好读。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多