gpt4 book ai didi

ios - 为什么 viewDidLayoutSubviews 会干扰动画?

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

我有一个 View Controller ,其中 View 是手动布局的(没有 xib)。这是在 viewDidLayoutSubviews 中完成的.我想为其中一个 View 设置动画,但动画不起作用( View 没有可观察到的运动),因为 viewDidLayoutSubviews似乎在动画开始时立即被调用。

代码的相关部分:

- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
logo.frame = CGRectMake(0, 0, 640, 360);
}

- (void)shrink
{
[UIView animateWithDuration:0.5 animations:^{logo.frame = CGRectMake(0, 0, 320, 180);}];
}
shrink当另一个计时器触发时调用方法,因此在创建 View Controller 时不会立即调用它。

如果我设置 logo.frame并从 viewDidLayoutSubviews 中删除该行,则动画正常工作。

这种行为的解释是什么,推荐的解决方法是什么?

最佳答案

您是否尝试过调用 viewDidApper 中的动画方法? ?而不是使用 viewDidLayoutSubviews尝试使用 viewDidLoad

关于ios - 为什么 viewDidLayoutSubviews 会干扰动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23078951/

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