我有兩個視圖控制器,它們是VCA和VCB。我也有一個導航控制器,並從VCA推送到VCB。在VCA的prepareForSegue方法,我有下面的代碼行:willMoveToParentViewController和didMoveToParentViewController
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"placePiece"]) {
NSLog(@"go to screen two");
}
}
,並在我的VCB,我有以下兩種方法:
- (void) willMoveToParentViewController:(UIViewController *)parent {
NSLog(@"will move back to screen one");
}
- (void) didMoveToParentViewController:(UIViewController *)parent {
NSLog(@"did move back to screen one");
}
我不明白的是,當我從VCA去VCB,我得到了在控制檯下面的消息:
2014-03-31 15:38:05.317 Li-Lab5[18865:60b] go to screen two
2014-03-31 15:38:05.318 Li-Lab5[18865:60b] will move back to screen one
2014-03-31 15:38:05.848 Li-Lab5[18865:60b] did move back to screen one
爲什麼willMoveToParentViewController
和didMoveToParentViewController
方法來到這裏叫什麼?
此外,是否有一種VCA和VCB的方法,以便當VCA進入VCB時,VCA中的方法被調用。當VCB回到VCA時,VCB中的一個方法被調用。我只是想用這些方法做一些閱讀和寫作。由於
這兩種方法不會做你認爲他們做的事。父母不是啓動推送的viewController。父母是容納該vc的容器視圖控制器,在你的情況下它是navigationController。 –
那麼我能做些什麼來達到我想要的效果? – photosynthesis
您可以使用'viewWillAppear:'和'viewDidAppear:'。 – NobodyNada