当前模态视图控制器 - 与呈现viewcontroller交互

时间:2012-08-11 11:05:14

标签: iphone objective-c cocoa-touch uiviewcontroller modalviewcontroller

当呈现模态视图控制器时,如果解除所呈现的视图控制器,则如何与父视图控制器交互。

根据我的理解,在解除模态视图控制器时,不会在父视图控制器上调用viewWillAppear。然后如何根据模态视图控制器中的输入更新UI?

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

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

1 个答案:

答案 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];