gpt4 book ai didi

Iphone SDK - 动画 subview

转载 作者:行者123 更新时间:2023-12-03 19:23:36 26 4
gpt4 key购买 nike

我有一个包含 UIWebView 和 OptionsPane (带有自定义 View 的自定义 UIViewController)的 View 。

我希望在显示 View 时,将选项 Pane (位于主视图顶部)翻转到位。我正在使用该代码,并且得到了一个奇怪的结果。

第一次显示 View 时,选项 Pane 似乎已经可见...当我在 navController 上按回键并再次拉起 View 时,动画效果完美。

有人能解释一下这个话题吗?

- (void)viewDidLoad {
[super viewDidLoad];
optionsPane=[[OptionsPaneController alloc] initWithNibName:@"OptionsPane" bundle:nil];
}

- (void)viewWillAppear:(BOOL)animated {

[optionsPane.view removeFromSuperview];
[self checkOptionsVisible];
}

-(void)checkOptionsVisible{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:[optionsPane view] cache:YES];
[[self view] addSubview:[optionsPane view]];
[theWebView setFrame:CGRectMake(0,87,320,230)];
[[optionsPane view] setFrame:CGRectMake(0,0,320,87)];
[UIView commitAnimations];
}

最佳答案

嗯,我认为 viewWillAppear 消息不是第一次发送的。我在 SDK 中读到了两件事。您应该在该消息中调用 super ,并且有一个可能适用于您第一次的大警告:

Warning: If the view belonging to a view controller is added to a view hierarchy directly, the view controller will not receive this message. If you insert or add a view to the view hierarchy, and it has a view controller, you should send the associated view controller this message directly. Failing to send the view controller this message will prevent any associated animation from being displayed.

最终,我将运行调试器并确保 viewWillAppear 消息在您认为正确的时候发送。

关于Iphone SDK - 动画 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/926971/

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