当呈现模态视图控制器时,如果解除所呈现的视图控制器,则如何与父视图控制器交互。
根据我的理解,在解除模态视图控制器时,不会在父视图控制器上调用viewWillAppear
。然后如何根据模态视图控制器中的输入更新UI?
模态视图控制器可以在其父视图控制器上调用方法吗?即[self.parentViewController doWhatIWant];
?
或者,当模态视图控制器被解除时,是否有一个在父视图控制器上调用的方法?
答案 0 :(得分: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];