0

対応するViewControllerを備えた2つのXIBがあります。それらをMainViewControllerおよびAboutViewControllerと呼びます。XIBの名前は、ViewControllerの名前とまったく同じです。MainViewControllerのボタンをクリックすると、AboutViewControllerが表示されます。

MainViewControllerに次のようなコードがあります。

- (IBAction) infoButtonAction:(id)sender {
    AboutViewController *aboutViewController = [[AboutViewController alloc] init];
    [[self navigationController] pushViewController:aboutViewController animated:YES];
}

しかし、何も起こりません。AboutViewControllerは表示されません。私もこの行を試しました:

AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil];

しかし、役に立たない。私は何が欠けていますか?

4

2 に答える 2

1

Interface BuilderでAboutViewController.xibを調べ、ファイル所有者がAboutViewControllerクラスインスペクターでに設定されていることを確認します。またview、ファイル所有者のプロパティがxibのビューに接続されていることを確認してください。最後に、それを表示するコードは次のようになります。

- (IBAction) infoButtonAction:(id)sender {
    AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil];
    [[self navigationController] pushViewController:aboutViewController animated:YES];
    [aboutViewController release];
}

また、同じメソッド内でこれがnilでないことを確認する必要があります。

UINavigationController * nc = self.navigationController;
于 2009-09-19T18:53:34.823 に答える
0

エラーが発生しますか?ボタンがIBに正しく配線されていることを確認しましたか?

モーダルビューコントローラーを使用してみましたか?

于 2009-09-19T18:20:55.717 に答える