使用iPhone的非模态视图委派

时间:2010-08-16 15:08:42

标签: iphone delegates

好的,我理解如何在模态视图中处理委托以向parentviewcontroller发送消息但是如果我想用2个不具有父子关系的视图做什么呢?

我有一个翻转模态视图的导航控制器,然后该模态视图推送一个新的视图控制器。如何让推动的视图控制器与导航控制器通信。我一直使用的模态视图代码将其放在父级中:

-(IBAction)pressedUnitAddy {
UnitAddyView *unitVC = [[UnitAddyView alloc] init];

unitVC.delegate = self;

UINavigationController*  theNavController = [[UINavigationController alloc]initWithRootViewController:unitVC];

theNavController.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentModalViewController:theNavController animated:YES];

[unitVC release];
[theNavController release];

}

- (void)didDismissUnitAddyView {     [self dismissModalViewControllerAnimated:YES]; }

....然后我从UnitAddyView调用didDismissUnitAddyView。现在,我并没有试图用我想要做的事来解除任何观点,但我确实希望推动的视图控制器能够与导航控制器对话。我该怎么办?

2 个答案:

答案 0 :(得分:0)

视图控制器有一个属性navigationController,如果它们没有被推到导航控制器上,那么它是nil,如果它们是导航控制器的指针。这会回答你的问题吗?

答案 1 :(得分:0)

我所要做的就是在导航控制器屏幕上重新加载数据。 UIViewController和我们没有直接连接的导航控制器 - 它们通过模态视图分开。我所做的一切,我之前应该想到这一点,将模态视图的委托设置为导航控制器,并在解除模态视图时调用方法重新加载导航控制器。