在以模态方式呈现viewController时未调用viewWillAppear(iOS)

时间:2011-01-27 20:07:35

标签: iphone

我有一个问题,UIViewController中的viewWillAppear方法是通过presentModalViewController方法添加到屏幕上的,不会“进入”viewWillAppear方法。只有第一次调用此方法时才与viewDidLoad一起使用。

- (IBAction)openModal:(id)sender {  
if (self.nvc == nil) {
    ModalViewController *vc = [[ModalViewController alloc] init];
    self.nvc = vc;
    [vc release];
}
self.nvc.segmentedIndex = [[self.navigationController.viewControllers objectAtIndex:0] index];
[self presentModalViewController:self.nvc animated:YES];
}

该属性的类型为 retain。

提前致谢。

1 个答案:

答案 0 :(得分:1)

对,它的工作方式不同,现在只进入viewWillAppear一次。因此,如果要在解除模态视图后更改视图的外观,则应使用模态委托模式执行此操作。见链接:

http://useyourloaf.com/blog/2010/5/3/ipad-modal-view-controllers.html

虽然它适用于iPad,但你可以得到这个想法。在最新的iOS版本中,它的工作方式相同。

希望有所帮助