gpt4 book ai didi

ios - UIView 动画未按预期工作

转载 作者:行者123 更新时间:2023-12-01 17:43:07 25 4
gpt4 key购买 nike

我有两个 UIImageView填充 View Controller ,第一个填充上半部分,第二个填充下半部分。我直接在 Storyboard文件中设置它们。

viewDidLoad方法,我正在设置代码以便为两个 UIImageView 执行动画, 所以它看起来像一个打开的篮子(第一个 UIImageView 移动到顶部直到它离开 View ,第二个 UIImageView 移动到 View 底部直到它离开 View )。

到目前为止,这是我的代码:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

CGRect basketTopFrame = self.basketTop.frame;
basketTopFrame.origin.y = -basketTopFrame.size.height;

CGRect basketBottomFrame = self.basketBottom.frame;
basketBottomFrame.origin.y = self.view.bounds.size.height;

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelay:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

self.basketTop.frame = basketTopFrame;
self.basketBottom.frame = basketBottomFrame;

[UIView commitAnimations];

}

但行为与我预期的不同,顶部框架没有移动,底部框架从左上角到底部动画(原点位置,而不是移出 View )。

这是 UIImageViews我在 Storyboard中设置的位置:
enter image description here

这是 UIImageViews当我启动应用程序时:

enter image description here

这是 UIImageViews当应用程序完成动画时( viewDidLoad):
enter image description here

请注意,此代码在 Xcode 4.2 中有效,但自从升级到 Xcode 4.5 并使用 Storyboard 后,我开始遇到此问题。提前谢谢。

最佳答案

您可能在 Storyboard 上启用了自动布局。在这种情况下, View 组件在 viewDidLoad 处将没有有效的帧值,因此您的代码将无法工作。

您可以通过在 Storyboard 中选择文件检查器并取消选中“使用自动布局”来禁用自动布局。

无论如何,这是开始动画的错误方法。尝试将代码移动到 viewDidAppear。

关于ios - UIView 动画未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13401487/

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