私のアプリでは、カスタムアニメーションを使用して、それぞれが独自のXIBであるビューを切り替えようとしています。すべてのコードを保持するために親ビューとしてベースビューコントローラーを作成しましたが、これを機能させることができないようです。
アプリ内のすべてのビューコントローラー用にIBOutletを作成し、Interface Builderで、アウトレットを適切なコントローラーに接続しました。各コントローラーは適切なXIBもロードするため、問題はありません。問題は、次のビューコードの変更です。
これは私のコードです:
-(void)changeViews {
CGRect frame = self.view.frame;
frame.origin.x = CGRectGetMaxX(frame);
theView4.view.frame = frame;
[self.view addSubview:theView4.view];
[self addChildViewController:theView4];
[self transitionFromViewController:theView1
toViewController:theView4
duration:1
options:UIViewAnimationOptionTransitionNone
animations: ^{
CGRect frame = self.view.frame;
theView4.view.frame = frame;
frame.origin.x -= frame.size.width;
self.view.frame = frame;
}
completion:completion:nil];
そして、これはコンソールのクラッシュです。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Children view controllers <MyGameViewController: 0x1dd25210> and <Settings: 0x1dd249d0> must have a common parent view controller when calling -[UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:]'
誰かがこれを修正する方法を知っていますか?
ありがとう!