1

UIViewController内にがあり、XIBファイルからナビゲーションスタックにUINavigationController1秒をプッシュしています。UIViewControllerこのXIBにはUINavigationItem、2番目のView Controllerのタイトルとボタンのも含まれていますが、XIBをロードするときにこれらは無視されます。何か案は?

これが私のコードです(photoViewControllerは2番目のviewControllerです)

- (void) displayPhotoWithId:(int)photoId {

    if (_photoViewController == nil) {
        self.photoViewController = [[[PhotoViewController alloc] initWithNibName:@"PhotoView" bundle:[NSBundle mainBundle]] autorelease];        
    }

    _photoViewController.photoId = photoId;

    [self.navigationController pushViewController:_photoViewController animated:YES]; 

}
4

2 に答える 2

3

これはInterfaceBuilderから接続できます。次のようなものをViewControllerに追加します。

IBOutlet UINavigationItem* navigationItem;

次に、それをView Controllerのコンセントに接続します(おそらく、ファイル所有者からUINavigationItemXIB内に)。私はこれを行いました、そしてそれはうまくいきます。UINavigationController'navigationItem'を自動的に探すと思います。

于 2011-03-21T01:29:52.483 に答える
0

ナビゲーション項目は、このコントローラーとは関係がないため無視されます。たまたまこのコントローラーのXIBに含まれているだけです。コントローラのナビゲーションアイテムは、インスタンス化時に作成されます。コントローラにはコンセントviewDidLoadがないため、コードでタイトルボタンとナビゲーションボタンを設定する必要があります(たとえば)。navigationItemXIBのUINavigationItemは、UINavigationControllerのルートコントローラー内でのみ機能します。

于 2011-03-09T17:51:19.227 に答える