0

から継承されたView ControllerがありますUINavigationController。に設定viewDidLoadしたいrightBarButtonItem。私は次のようにします。

UINavigationItem* navItem = self.navigationItem;
UIButton* btnOptionsView = [[UIButton alloc] init];
[btnOptionsView setImage:[UIImage imageNamed:@"options.png"]
                forState:UIControlStateNormal];
[btnOptionsView sizeToFit];
UIBarButtonItem* btnOptions = [[UIBarButtonItem alloc] initWithCustomView:btnOptionsView];
navItem.rightBarButtonItem = btnOptions;

しかし、ボタンは見えません。デバッグモードでは、それが0であることに気付きました。また、このようなbtnOptions.widthタイトルを設定できませんnavItem

[navItem setTitle:@"title"]

のタイトルは変更しませんUINavigationItem

4

2 に答える 2

0

UINavigationControllerをサブクラス化しないでください。アップルのドキュメントから:

UINavigationControllerクラスは、階層コンテンツのナビゲーションを管理する特殊なビューコントローラーを実装します。このクラスはサブクラス化を目的としていません。代わりに、アプリケーションのユーザーインターフェイスにコンテンツの階層的な性質を反映させたい状況では、そのインスタンスをそのまま使用します。

于 2012-04-23T13:10:02.693 に答える
0

ボタンのタイトルを変更してみる

于 2012-04-23T13:06:59.587 に答える