2013-05-22 11 views
6

再び簡単な質問。 presentViewControllerを使用して現在のビューコントローラの上に新しいviewcontrollerを表示すると、フルスクリーンになります。特定のサイズを提示するにはどうすればよいですか?あるいは別の方法を使うべきですか?PresentViewControllerフルスクリーンなし

コード:

- (IBAction)showProfile:(id)sender { 
ProfileView *profileTop = [[ProfileView alloc] init]; 
profileTop.delegate = self; 

[self presentViewController:profileTop animated:YES completion:nil]; 
} 
+1

は、あなたがそれに応じて提示ビューコントローラ内の位置やサイズself.view.frameを試してみましたか? –

+0

[UIPresentationFormSheetのサイズを変更するには?](http://stackoverflow.com/questions/2457947/how-to-resize-a-uipresentationformsheet) – memmons

+0

モーダルビューの代わりにaddsubviewを使用していないのはなぜですか? – utsabiem

答えて

7

を参照してください、あなたはViewControllerをを提示するために設定する必要があります。

この変数には4つの値があります。

UIModalPresentationFullScreen = 0, 
UIModalPresentationPageSheet, 
UIModalPresentationFormSheet, 
UIModalPresentationCurrentContext 

どのスイートが最適かを選択できます。

はiPadで
+0

私はこれについて読んだことがありましたが、私はそれをどのように実装するのか考えていませんでした。あなたのコードを精緻化できますか? – Tarayaa

+1

確かに、この行 'profileTopを追加してください。modalPresentationStyle = UIModalPresentationFormSheet; 'を使用して、ProfileViewを中央に揃えるようにします。 –

+0

これはまさに私がやっていたものではありませんが、実際は滑らかなアニメーションです。私は私がUIModalPresentationsで読む必要があると思います – Tarayaa

6

私は、特にAppleの参照では、もう少し研究を行うことをお勧めしたいです。注目すべきは、ビューコントローラプログラミングガイド(http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html)から、この引用があります:iPadでアプリのモーダルビュー

ため

プレゼンテーションのスタイルは、あなたには、いくつかの異なるスタイルを使用してコンテンツを提示することができます。 iPhoneアプリケーションでは、提示されたビューは常にウィンドウの可視部分をカバーしますが、iPadで実行する場合、View ControllerはmodalPresentationStyleプロパティの値を使用して、提示時の外観を判定します。このプロパティのさまざまなオプションを使用すると、画面全体または画面の一部だけを塗りつぶすようにView Controllerを表示できます。

具体的には、presentViewControllerためのAPIリファレンスページ(http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/presentViewController:animated:completion :)上:

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

iPadのみが非フルスクリーンモードをサポートしているようです。

+0

ええ、私はこれを読んだ、私はiPadのためだけに開発しています。 – Tarayaa

+1

@ Tarayaaその後、タグを変更する必要があります。 – Sulthan

+0

おっと、あなたの権利。 – Tarayaa

0

同じコードを使用できます。次に、xibファイルのビューサイズを調整します。あなたは、あなたがのViewControllerのmodalPresentationStyleプロパティを利用することができますiPad用のアプリを開発している場合、下図 size inspector

+0

これは私が最初に試したことですが、うまくいきませんでした。 – Tarayaa

3

はあなただけ使用することができ :

[viewcontroller setModalPresentationStyle:UIModalPresentationFormSheet]; 

例:

LoginDialogViewController * login_dialog = [[LoginDialogViewController alloc] init]; 
[login_dialog setModalPresentationStyle:UIModalPresentationFormSheet]; 
[self presentViewController:login_dialog animated:true completion:nil]; 
関連する問題