modalViewController委托回调 - HowTo?

时间:2011-07-17 21:04:25

标签: iphone objective-c ios uiviewcontroller modalviewcontroller

我有一些视图控制器,当我点击一些按钮时,我会创建modalView(用UINavigationController包装)并呈现它。

DscViewController *enterDescription = [[[DscViewController alloc] init] autorelease];


    UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:enterDescription];
    [self presentModalViewController:navController animated:YES];
    [navController release];

问题是,如何使我的(父)视图控制器成为委托,当我点击modalViewController上的某个按钮(例如Done)来调用我的父viewController中的某个方法来解除模态并从中做一些节省模态输入?

1 个答案:

答案 0 :(得分:1)

我认为让一个控制器责怪它的父控制器做它应该handel的工作是不错的做法。您始终可以使用self.parentViewController来关闭您当前所处的模式。

如果由于某种原因您只在parentViewController中处理存储,那么您可以将done按钮操作指向当前viewController中的方法,然后使用self.parentViewController触发父方法进行存储。

或者只是将按钮直接委托给self.parentViewController

[button addTarget:self.parentViewController action:@selector(someMethodInParentViewController) forControlEvents:UIControlEventTouchUpInside];