2012-02-15 11 views
0

UIViewCOntrollerを呼び出す他の方法はありません。UIViewControllerを呼び出す方法

HelloUIViewController *hello = [[HelloUIViewController alloc]initWithNibName:nil bundle:nil]; 
[self.navigationController pushViewController:hello animated:YES]; 

上記のコードは、あなたにもBackButtonを取得するナビゲーションバー(あなたが表示するビューから移動する矢印形のボタン)でビューを設定します。

私は現在、新しいUiviewControllerに行きたい、とあなたはnavigationBarをしたくない場合は、戻るボタン(基本的にviewControllerナビゲーションスタックにプッシュするべきではありません)

+0

あなたは[モーダルビュー](https://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html)をお探しですか? – esqew

+0

指定したnib名を付けずにビューをプッシュする問題が発生することがあります。 –

+1

@BillBraskyどのような問題?名前を指定しない場合、UIViewControllerの '-loadView'は、View Controllerの名前と一致する名前(この場合はHelloUIViewController.xib)を持つペン先を探します。 – Caleb

答えて

2

これは動作するはずです:

UIWindow *window = [[UIApplication applicationDelegate] window]; 
window.rootViewController = [[HelloUIViewController alloc] initWithNibName:nil bundle:nil]; 

もちろん、あなたが望むものではないかもしれません。これは、ビューコントローラをウィンドウのルートビューコントローラとしてインストールします。あなたのナビゲーションコントローラを保持し、ナビゲーションスタックの外側に新しいコントローラを表示したい場合は、ビューコントローラをモーダルにしたいと思うでしょう。別のビューコントローラから、次のことができます。

HelloUIViewController *hello = [[HelloUIViewController alloc]initWithNibName:nil bundle:nil]; 
[self presentViewController:hello animated:YES completion:nil]; 
+1

これはpushviewcontrollerのように水平に表示されます。垂直ではない。 – sharon

+1

なぜあなたはそれをnavスタックにプッシュしたくないのですか?あなたがnavスタックの一部であるように見えるようにして、nav barやbackボタンを表示しないように思えます。説明されているように、nav barを隠して通常通りに押すのは、あなたが望むようにする簡単な方法です。 – Caleb

2

を持っている必要はありません。あなたのViewControllerはモーダルです。

[self presentModalViewController:helloViewController animated:YES]; 
+0

この方法は、AppleがiOS 5(https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.htmlを参照)のように好まれていないことに注意してください。代わりに、 'presentViewController:animated:completion:'を使用してください。 – kevboh

+0

あなたは正しいです。私が暗記したものを書き留めていただけです= p – ArtSabintsev

+0

これはpushviewcontrollerのように水平に見えるはずです。垂直ではない。 – sharon

1

あなたはナビゲーションバーを非表示にすることができます:

self.navigationController.backItem.hidesBackButton = YES; 

self.navigationController.navigationBarHidden = YES; 

をそれとも、ナビゲーションバーを保つためにだけ、あなたがこのような何かを行うことができます戻るボタンを取り除くしたい場合

関連する問題