Kev*_*ers 6 iphone cocoa-touch uikit viewdidload ipad
所以我有两个观点.启动应用程序时会加载一个视图.然后,当我按下该视图上的按钮时,它会加载另一个视图.
- (IBAction)triggerGame
{
leveldata = [[NSMutableDictionary alloc] init];
[leveldata setValue:@"hide" forKey:@"shootarrow"];
[leveldata writeToFile:[self levelFilePath] atomically:YES];
[leveldata release];
Papertoss_MaraAppDelegate *mainDelegate = (Papertoss_MaraAppDelegate *)[[UIApplication sharedApplication] delegate];
[mainDelegate playGame];
}
Run Code Online (Sandbox Code Playgroud)
此操作在委托实现中触发一个名为playGame的方法,如下所示:
- (void)playGame {
[levelView.view removeFromSuperview];
[self.window addSubview:[gameView view]];
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
这样可以很好地加载新视图.然后我有另一个按钮做同样的事情,但它让我回到第一个视图.而且它也很棒.我能够非常轻松地从一个视图导航到另一个视图.但我唯一的问题是,当我第二次尝试加载第二个视图时,不会再次调用viewDidLoad.我通过在viewDidLoad方法中使用NSLog()来测试它.
为了我的应用程序做我想要的,我需要再次调用viewDidLoad.我猜我在他们之间切换时可能没有完全卸载我的视图.
任何帮助是极大的赞赏.
我认为你需要函数viewDidAppear.viewDidLoad仅在每个视图中被调用一次,除非某些内容导致它卸载,例如内存警告.每次视图变得可见时都会调用viewDidAppear.
| 归档时间: |
|
| 查看次数: |
797 次 |
| 最近记录: |