使用UIViewAnimationTransition(Cocoa Touch)时是否需要进行预加载

时间:2009-12-28 09:43:31

标签: iphone uiview uiviewcontroller

我正在使用一些过渡(翻转)切换到我的iPhone应用程序中的“设置/关于”视图。 我这样开始过渡:

    SettingsAboutViewController *settingsView = [[SettingsAboutViewController alloc] init];

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
                       forView:[self.navigationController view ]
                        cache:YES];

[self.navigationController.view addSubview:settingsView.view];
[UIView commitAnimations];  

在我的SettingsAboutViewController的viewDidLoad方法中,我使用setFrame设置所有相关图形:CGRectMake(x,y,w,h),没有涉及Nib。

我的问题是所有的图形似乎都位于0,0并且只有当翻转完成90%时它才会“卡入”到位。

我尝试在安装之后和之前调用[super viewDidLoad],我尝试将我的设置代码放在loadView中,但到目前为止都失败了。

在调用动画之前,视图似乎并非全部构建。我之前从来没有遇到这样的问题,这个特殊的观点不是图形重,而且要求其他任何方式吗?

我需要考虑什么?

感谢。

1 个答案:

答案 0 :(得分:0)

如何使用presentModalViewController?它更简单易用..

SettingsAboutViewController *settingsView = [[SettingsAboutViewController alloc] initWithNibName:@"SettingsAboutViewController " bundle:nil];

settingsView.delegate = self;

//魔术声明。这将从右向左翻转。 //当你解雇ModalViewController时,显示模态视图控制器。 //它将从左向右翻转。简单而优雅。

settingsView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

[self presentModalViewController:settingsView animated:YES];

[settingsView release];

我认为这可以解决您的问题。

祝你好运..!