ViewController という名前のビュー コントローラーがあります。
- ViewController は、ボタンを持つ UIView を表示します。これにより、2 番目のビュー コントローラーである SecondViewController に進むことができます。
- SecondViewController にもボタンがあり、3 番目のビュー コントローラーに進むことができます。
ただし、ThirdViewController の表示に問題があります。SecondViewController でボタンをタップすると、エラーがスローされます。
警告: ビューがウィンドウ階層にない ... で ... を表示しようとしています!
この問題に対処する他のサイトや投稿をたくさん見てきましたが、有効な解決策が見つからないようです。かなりの数のソリューションを実装しましたが、どれも機能していないようです。
これが私のコードです:
- (void)secondaryView:(UIView *)secondaryView
{
UIView *theView = secondaryView;
UIViewController *viewController = [[UIViewController alloc] init];
viewController.view.frame = [UIScreen mainScreen].bounds;
[viewController.view addSubview:theView];
viewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:viewController animated:YES completion:nil];
}
secondaryView
アプリケーションの他の場所で構築している UIView です。それをviewControllerに追加してから、viewController
.
UIViewControllers を動的に作成し、それぞれに UIView を追加し、それらをウィンドウ階層に追加する方法はありますか?