Gon*_*han 9 iphone objective-c viewcontroller modalviewcontroller ios
首先,我创建一个MainViewController.然后在MainViewController中,我这样做
[self presentViewController:modalViewController animated:YES completion:nil];
modalViewController.modalPresentationStyle = UIModalPresentationFormSheet;
Run Code Online (Sandbox Code Playgroud)
当我关闭modalViewController时,On iPhone(iPhone 6+除外),调用MainViewController的viewDidAppear.在iPad和iPhone 6+上,不调用MainViewController的viewDidAppear.
逻辑是在解除modalViewController时调用一个函数.我如何知道modalViewController何时被解除.
当您关闭模态视图控制器时,可以使用委托在MainViewController中调用您的函数.例如:
MainViewController.h:
@protocol YourDelegate <NSObject>
- (void)someFunction;
@end
@interface MainViewController : UIViewController <YourDelegate>
@end
Run Code Online (Sandbox Code Playgroud)
MainViewController.m:
// Where you present the modal view
ModalViewController *view = [[ModalViewController alloc] init];
view.delegate = self;
[self presentViewController:view animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
ModalViewController.h:
@interface ModalViewController : UIViewController
@property (nonatomic, weak) id<YourDelegate> delegate;
@end
Run Code Online (Sandbox Code Playgroud)
ModalViewController.m
// Wherever you dismiss..
[self dismissViewControllerAnimated:YES completion:^{
[self.delegate someFunction];
}
Run Code Online (Sandbox Code Playgroud)