0

我有一个调用视图出现的事件,但是viewdidload每次调用它时 - 事件都没有按预期出现。这是我用来称呼它的方法...

[self presentModalViewController:addItemViewController animated:YES];

然后在addItemViewController里面,方法是

- (void)viewDidLoad {
    NSLog(@"alright, lad!");
}

要关闭视图,我有一个带有代码的按钮

- (IBAction)cancel {
    [self dismissModalViewControllerAnimated:YES];
}

“好吧,小伙子”日志在视图第一次出现时显示,但在启动时不再显示。有没有一种方法可以让应用程序“忘记”视图?还是我应该使用另一种加载方法?我尝试了 loadView (我认为),但它有一个空白屏幕......

谢谢你的帮助!

4

2 回答 2

2

viewDidLoad 仅在第一次实例化视图时调用。如果您不是每次都重新创建视图控制器,则只会调用一次(如果收到内存警告,则再次调用,并且视图为零)。您可能想要使用 viewWillAppear: 或 viewDidAppear:。

于 2009-12-22T11:32:54.747 回答
0

确保在每个方法中调用超类,例如

- (void)viewWillAppear:(BOOL)animated {
  NSLog(@"view appeared");
  [super viewWillAppear:animated];
}
于 2009-12-24T14:13:18.967 回答