У меня есть ContainerView и три кнопки, такие как вкладка. При нажатии на кнопку я хочу переключить ViewControllers в UIContainerView. При нажатии на кнопку приложение вылетает, вот мой код.
- (void) cycleFromViewController: (UIViewController*) oldVC toViewController: (UIViewController*) newVC{
[oldVC willMoveToParentViewController:nil];
[self addChildViewController:newVC];
[self transitionFromViewController:oldVC toViewController:newVC duration:5 options:0 animations:^{
newVC.view.frame = oldVC.view.frame;
} completion:^(BOOL finished) {
[oldVC removeFromParentViewController];
[newVC didMoveToParentViewController:self];
currentVC = newVC;
}];
}
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Children view controllers <FirstViewController: 0x78e98580> and <ThirdViewController: 0x78e99a60> must have a common parent view controller when calling -[UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:]'
[oldVC willMoveToParentViewController:nil];
это вызывает проблему, после того как эта строкаoldVC
не будет иметь родителя. ЗатемtransitionFromViewController:oldC
вызовет сбой. - person Akhilrajtr   schedule 22.12.2014