gpt4 book ai didi

iOS:UIView 动画,没有动画发生

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

有一个令人费解的问题。我有一个通用应用程序,在 iPad 和 iPhone 版本之间有很多共享代码。 nib 中有不同的布局,但 View 和 View 层次结构基本相同 - 一个 UIView 用作两个兄弟 UITextView 的容器。

UIView mainView 与 child :
UITextView 段落TextView
UITextView 注释TextView

一个 UITextView 是隐藏的,另一个是可见的。

以下是我的代码。注释掉的部分是我最初的动画尝试。这在 iPad 上可以正常工作,但在 iPhone 上却不行。未注释的部分取 2,使用文档中推荐的方法。未注释的代码不适用于 iPad 或 iPhone - 它隐藏/取消隐藏我的 View 但没有任何动画。如果我将代码添加到也被执行的完成 block 中,那么它正在做某事,只是没有动画。

/*  
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:mainView cache:YES];

passageTextView.hidden = YES;
notesTextView.hidden = NO;

[UIView commitAnimations];
*/

UIViewAnimationOptions options = UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationTransitionFlipFromRight;

[UIView transitionWithView:mainView
duration:1.0
options:options
animations:^{ passageTextView.hidden = YES; notesTextView.hidden = NO; }
completion:NULL];

编辑 : 还在解决这个问题,希望有人能给点建议。

附加更新

弄清楚为什么以下内容在 iPhone 中不起作用:
[UIView beginAnimations:nil context:nil];  
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:mainView cache:YES];

passageTextView.hidden = YES;
notesTextView.hidden = NO;

[UIView commitAnimations];

我忽略了将 View 连接到 Interface Builder 中的 mainView。调试时间,我刚才想检查一下。

但是,我仍然不知道为什么动画 block 不适用于 iPhone 或 iPad。我尝试了几种方法,但即使显示/隐藏工作正常,我也没有得到任何动画。

最佳答案

我认为您使用了错误的动画选项。

UIViewAnimationOptionTransitionFlipFromLeft 替换你的第二个动画选项(注意 OptionAnimation 之间的 Transition )

我相信 UIViewAnimationTransitionFlipFromLeft (这是您的代码中的内容)是 UIViewAnimationTransition 而不是 UIViewAnimationOptions

关于iOS:UIView 动画,没有动画发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4968305/

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