2017-03-08 4 views
0

ビューコントローラを提示する場合、私はそれがiPhoneのportrateモードに画面幅/高さの100%を利用したいが、(このような)横画面の一部を取る:presentViewController幅

Landscape

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のランドスケープモードで正しく動作するようにするにはどうすればよいですか?

+0

これを実現するには、現在のUIViewControllerを表示するのではなく、コンテナビューを使用します。 Appleのドキュメント:https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html#//apple_ref/doc/uid/TP40007457-CH11-SW13(特に、 'addChildViewController:'を使用してください。そのフレームを現在のUIViewControllerに設定します)。 –

答えて

0

変更:modalPresentationStyleあなたのコードです。

navController.modalPresentationStyle = UIModalPresentationFullScreen; 

これがうまくいくと思います... !!

+0

いいえ、それはまだここに見られるように完全にすべてをカバーしています:http://i.imgur.com/JLrM2Vt.png。 – Kyle

0

iPhoneおよびiPod touchでは、表示されるビューは常にフルスクリーンです。 iPadでは、プレゼンテーションはmodalPresentationStyleプロパティの値によって異なります。

0

私はiPhone SEシミュレータのためにこれが見えていました。より大きなデバイスでは、それは私が望む方法で動作します。

関連する問題