gpt4 book ai didi

iOS8 - 动画所有 subview 不工作

转载 作者:行者123 更新时间:2023-11-28 21:51:11 26 4
gpt4 key购买 nike

我正在尝试在显示键盘时为所有 View 设置动画以避免重叠。

然而,这个老把戏似乎不再奏效了:

 for (UIView *subview in self.view.subviews){
CGRect r = subview.frame;
r.origin.y += yOffSet;
[UIView animateWithDuration:duration animations:^{subview.frame = r;} completion:block];
}

知道为什么吗?

====更新

这些 subview 在我运行 iOS8 的 iPhone6 上没有动画。然而,他们在我的 iPhone4 上运行 iOS 7.1.2。两者都使用 AutoLayout。

最佳答案

如果您正在使用自动布局,则不应再使用框架来制作动画,而应使用约束常量。

还要记住,“ subview ”数组属性只包含直接的“子” View 。这可能会产生影响,具体取决于您的设置。

编辑 我刚刚注意到这个问题只发生在 iOS7/iphone 4 上。自动布局和 iOS7/iOS8 兼容性存在一个已知问题。

归结为更新如何沿 View 层次结构传播。

有很多关于这个主题的 stackoverflow 帖子:

Auto-Layout Issues: iOS 7 vs iOS8

Issue with Auto Layout on iOS 8 (code works perfectly on iOS 7)

关于iOS8 - 动画所有 subview 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28283706/

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