1

モーダルView Controllerを提示するとき、提示されたView Controllerが閉じられると、どのように親View Controllerと対話しますか。

私が理解していることからviewWillAppear、モーダルView Controllerを閉じるときに、親View Controllerで呼び出されません。では、モーダル ビュー コントローラーで取り込まれた入力に基づいて UI を更新するにはどうすればよいでしょうか。

モーダル ビュー コントローラーは、親ビュー コントローラーのメソッドを呼び出すことができますか? つまり[self.parentViewController doWhatIWant];

または、モーダルView Controllerが閉じられたときに親View Controllerで呼び出されるメソッドがありますか?

4

1 に答える 1

3

モーダル コントローラーをモーダルに表示する前に、parent のインスタンスを提供して、コールバックできるようにすることができます。

@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 に答える