当呈现一个模态视图控制器时,一旦呈现的视图控制器被解除,一个人如何与父视图控制器交互。
据我了解viewWillAppear
,在关闭模式视图控制器时不会在父视图控制器上调用。那么如何根据模态视图控制器上的输入来更新 UI?
模态视图控制器可以在其父视图控制器上调用方法吗?即[self.parentViewController doWhatIWant];
?
或者,当模态视图控制器被解除时,是否有一种方法可以在父视图控制器上调用?
当呈现一个模态视图控制器时,一旦呈现的视图控制器被解除,一个人如何与父视图控制器交互。
据我了解viewWillAppear
,在关闭模式视图控制器时不会在父视图控制器上调用。那么如何根据模态视图控制器上的输入来更新 UI?
模态视图控制器可以在其父视图控制器上调用方法吗?即[self.parentViewController doWhatIWant];
?
或者,当模态视图控制器被解除时,是否有一种方法可以在父视图控制器上调用?
您可以在模态显示之前为模态控制器提供一个父实例,让它回调您:
@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];