2011-01-15 6 views
1

UINavigationControllerで発生するスライドアニメーションを取得しようとしています。 UINavigationControllerセットアップ例のUINavigationControllerが動作しない

すべては、しかし、すべての私の見解は、1 XIBUIViewControllersあり、異なるビューのために複数のXIBのを使用することを含みます。

これまでのところ、[self presentModalViewController:myViewController animated:YES];を使用していますが、これは問題なく動作します。

すべてのビューコントローラはIBOutletsでメインXIBに接続されています。

例:

#import "MyViewController.h" 

@interface ViewController : UIViewController { 
... 
IBOutlet MyViewController *myViewController; 
//connected through Interface Builder 
... 
} 

そしてInterface Builder中:絶対に何もしませんが

UINavigationController *myNavController = [[[UINavigationController alloc] initWithRootViewController:self] autorelease]; 
[myNavController pushViewController:myViewController animated:YES]; 

alt text

私はのようなものを使うことができると思いました。

私は少しこれに固執しています。

助けてください。

+0

これよりも少しコードを見る必要があります。たとえば "myViewController"はどこにインスタンス化されていますか? –

答えて

1

UINavigationControllerのビューをビュー階層に追加する必要があります。私はApple's UINavigationControllerドキュメントを見た後、それを割れてきました

[window addSubview:navigationController.view]; 
+0

AppDelegateで作成されたUIWindowですか? –

+0

最初のNIBがロードされたときに作成されるAppDelegateのアウトレットです。 – Felix

+1

OKボタンを押したときに空白の表示が表示されます。押し戻すと、前のコントローラーではなく白い画面に戻ります。 –

0

:これはUIWindowにそれを追加することによって行わXcodeのテンプレートナビゲーションベースのアプリケーションで 。

私はそうのように私のアプリケーションのdidFinishLaunchingWithOptions:方法でUINavigationControllerを作成しました:

UIViewController *dcview = [[DocumentationViewController alloc] init]; 
navigationController = [[UINavigationController alloc] 
         initWithRootViewController:dcview]; 
[dcview release]; 
navigationController.navigationBarHidden = YES; 
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
[window addSubview:navigationController.view]; 
[window makeKeyAndVisible]; 

し、それをプッシュする

[((DocumentationAppDelegate *)[UIApplication sharedApplication].delegate).navigationController pushViewController:settingsView animated:YES]; 

を呼び出します。

関連する問題