0
- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc] initWithTitle:@"Refresh" style:UIBarButtonItemStylePlain target:self action:@selector(refreshButtonClicked:)];
    [self.navigationItem setRightBarButtonItem:refreshButton animated:YES];
}
- (void)refreshButtonClicked:(id)sender {
    NSLog(@"Refreshed.");
}

AppDelegate にプログラムでナビゲーション コントローラーを追加し、このビューをルートとして設定しました。

上記のようにプログラムで navigationItem を追加しようとしたときにrefreshButton、ナビゲーション バーに表示されましたrefreshButtonClicked:が、呼び出されませんでした。

どうしたの?提案やコメントは大歓迎です。

4

2 に答える 2

0

viewDidLoad でスーパー クラスを呼び出します

- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *refreshButton = [[UIBarButtonItem alloc] initWithTitle:@"Refresh" style:UIBarButtonItemStylePlain target:self action:@selector(refreshButtonClicked:)];
    [self.navigationItem setRightBarButtonItem:refreshButton animated:YES];
}

ルートクラスのセットアップが確実に行われるようにします

于 2012-04-11T13:27:40.753 に答える