7

いくつかの異なるフォーラムを検索しましたが、これに対する答えが見つからないようです。バー ボタン項目をナビゲーション コントローラーに追加し、そのスタイルを UIBarButtonItemStyleDone に設定しました。これがナビゲーション スタックの最初のコントローラーである場合、ボタンは適切に青色で表示されます。ただし、コントローラーが作成されてスタックにプッシュされると、スタイルは無視され、黒で表示されます。

この問題は、tintColor が変更されたときに発生することはわかっていますが、標準の UIBarStyleBlack を使用し、tintColor を設定していません。私も tintColor を nil に設定しようとしましたが、それもうまくいきません。

関連コード:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
    self.navigationItem.rightBarButtonItem =
    [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                                                  target:self
                                                  action:@selector(createNew:)];
    self.navigationItem.rightBarButtonItem.style = UIBarButtonItemStyleDone;
}

どんなアイデアや回避策も大歓迎です。

4

1 に答える 1

10

styleプロパティが何もしないプリセット システム アイテムを使用しています。実際のUIBarButtonSystemItemDoneシステム アイテム (青色ですが、「完了」と表示されています) に切り替えるか、 または を使用-initWithImage:style:target:action:-initWithTitle:style:target:action:て独自の画像またはテキストを提供するように切り替える必要があります。

于 2010-11-23T00:43:04.770 に答える