gpt4 book ai didi

View 出现后应用 iOS 8/XCode 6 自动布局约束

转载 作者:IT王子 更新时间:2023-10-29 07:56:21 25 4
gpt4 key购买 nike

我有一个项目在 XCode 5 和 iOS 7 上工作得很好,但是当我最近下载 XCode 6 时,我注意到自动布局有一些奇怪的行为。

我有一个 Storyboard,其中的 View 只有一个 UIImageView 和两个 UILabel。此 View 使用 UiPageViewController 加载。 UIImageView 在 View 中水平和垂直居中,并且有指定两个标签与 ImageView 的距离的约束。当 Storyboard和自动布局值发生冲突时(例如,在 Storyboard中,一个标签在 ImageView 上方 20 像素,但自动布局说它应该在 40 像素以上),过去自动布局值是在加载 View 之前成功应用。因此,当 View 第一次显示时,一切都在正确的位置。

现在使用 iOS 8/XCode 6,我看到加载 View ,然后事情跳转到它们最终的自动布局位置。在模拟器和真实设备上,最终用户都会注意到这种跳跃,这真的很烦人。有没有办法回到旧的行为?据我所知,没有任何代码更改会导致此问题。

最佳答案

更改约束的代码在哪里?

如果您将它保存在 viewWillAppear: 中,您就会遇到这个问题。我发现 viewDidLayoutSubviews 适用于 iOS8,但并不总是适用于向后的 iOS7。

最后,如果你不能使用 viewDidLayoutSubviews,我建议在 viewDidLoad 中隐藏容器 View ,在 viewWillAppear 中取消隐藏它,只有在应用了约束之后。加载屏幕时,它会让您有一点额外的延迟,但约束更改对用户来说是透明的。

关于 View 出现后应用 iOS 8/XCode 6 自动布局约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25925058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com