这是在显示模式对话框的视图控制器的视图中点击按钮时执行的代码:
-(IBAction)presentModally:(id)sender {
if (self.nvc == nil) {
MyModalViewController *vc = [[MyModalViewController alloc] init];
UINavigationController *navvc = [[UINavigationController alloc] initWithRootViewController:vc];
navvc.navigationItem.prompt = @"";
navvc.navigationBar.barStyle = UIBarStyleBlack;
[vc release];
self.nvc = navvc;
[navvc release];
}
}self presentModalViewController:self.nvc动画:是;
如果一切正常,此代码应该会在每次出现视图时启动。
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"test");
}当我注释检查Ivar是否为nil的if语句时,方法viewWillAppear将被调用。有什么想法吗?
发布于 2011-01-13 06:13:32
安德烈亚斯
不确定您在这里是否混淆了viewDidLoad和viewWillAppear?您的viewDidLoad代码不会在视图每次出现时都被调用,只有在加载时才会调用。
此外,将导航控制器显示为模式视图对我来说似乎是一件奇怪的事情--模式视图的全部意义在于,当你让用户完成一些任务时,它们会阻止用户导航离开,比如发送电子邮件链接,然后他们就会忽略它并返回到他们所在的位置。
https://stackoverflow.com/questions/4673294
复制相似问题