ビューコントローラを提示する場合、私はそれがiPhoneのportrateモードに画面幅/高さの100%を利用したいが、(このような)横画面の一部を取る:presentViewController幅
iPadの一部になること。次のコードは、iPhoneのランドスケープの部分を除くすべてを行います。
SQLProEditConnetionViewController * editConnectionViewController =
[[SQLProEditConnetionViewController alloc] initWithConnectionModel: nil];
editConnectionViewController.delegate = self;
UINavigationController * navController =
[[UINavigationController alloc] initWithRootViewController: editConnectionViewController];
navController.modalPresentationStyle = UIModalPresentationFormSheet;
navController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
navController.preferredContentSize = CGSizeMake(320, 620); // size of popup view
[self presentViewController: navController
animated: YES
completion: nil];
iPhoneのランドスケープモードで正しく動作するようにするにはどうすればよいですか?
これを実現するには、現在のUIViewControllerを表示するのではなく、コンテナビューを使用します。 Appleのドキュメント:https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html#//apple_ref/doc/uid/TP40007457-CH11-SW13(特に、 'addChildViewController:'を使用してください。そのフレームを現在のUIViewControllerに設定します)。 –