我有两个UIViewControllers A和B。
[self presentViewController:B animated:YES completion:nil];
在我调用
dismissViewController:
之后,我需要能够调用已呈现B ViewControlller的父ViewController中的某些方法。我以为-viewWillAppear
方法将被调用,但解雇后无法正常工作。
最佳答案
当创建B ViewController
对象时,然后实现一个自定义init
方法,如下所示:
将此方法放入B ViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil withParentView:(UIViewController *)parentViewController
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.pViewController = parentViewController;
// Custom code
}
return self;
}
当您创建B View Controller的对象时,请使用上述方法,您的 parentViewController 将是 self 。
在解雇时,您会打电话
[self.pViewController viewWillAppear:NO];
希望这会帮助你。
祝一切顺利!!!
关于ios - iOS消除了ViewController回调问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15174689/