1

当呈现一个模态视图控制器时,一旦呈现的视图控制器被解除,一个人如何与父视图控制器交互。

据我了解viewWillAppear,在关闭模式视图控制器时不会在父视图控制器上调用。那么如何根据模态视图控制器上的输入来更新 UI?

模态视图控制器可以在其父视图控制器上调用方法吗?即[self.parentViewController doWhatIWant];

或者,当模态视图控制器被解除时,是否有一种方法可以在父视图控制器上调用?

4

1 回答 1

3

您可以在模态显示之前为模态控制器提供一个父实例,让它回调您:

@class ParentViewController;

@interface ControllerToBeShownModally : UIViewController

@property (nonatomic, readwrite) ParentViewController* parentViewController;

// More items

@end

显示ControllerToBeShownModally

ControllerToBeShownModally *ctrl = [[ControllerToBeShownModally alloc] init...];
ctrl.parentViewController = self; // Store the back reference here
[self presentModalViewController:ctrl animated:YES];

打回去:

[self.parentViewController doWhatIWant];
于 2012-08-11T11:21:02.580 回答