に白い色を削除します。 (タップすると)私は次のようにバーボタンのイメージを持っている私のコントローラの一つでハイライトバーボタン
私の他のコントローラでは、それは次のようになります。
それは常に資産から同じイメージを使用します。私は常に第二の変種になるために私のボタンが必要です。次のように宣言さ
ファースト(間違った)ボタン:
bbiRight = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:riVM.itemPictureName] style:UIBarButtonItemStylePlain target:nil action:nil];
[RACObserve(((id<CDRRightNavItemProtocol>)self.viewModel), itemPictureName) subscribeNext:^(NSString * x) {
[bbiRight setImage:[UIImage imageNamed:x]];
}];
セカンド(正しいもの)は次のとおりです。
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setImage: [UIImage imageNamed: @"m_starnotactive"] forState:UIControlStateNormal];
[btn setImage: [UIImage imageNamed: @"m_staractive"] forState:UIControlStateSelected];
btn.frame = (CGRect){88,11, 22,22};
btn.rac_command = self.viewModel.cmdSaveToFavorites;
RAC(btn, selected) = RACObserve(self.viewModel, inFavorites);
UIBarButtonItem *bbiFav = [[UIBarButtonItem alloc] initWithCustomView:btn];
self.navigationItem.rightBarButtonItem = bbiFav;
問題は、最初のケースは、多くのクラスで使用される抽象クラスで使用されています私のアプリ、どのように私のバーのボタンが白く見えるようにそれを変更するには選択?
UIButton tintColorを自分の色に設定しようとしましたか? –
@АлексейАбдулинもし私がそれを行うなら、私はそのコントローラで作成するテーブルビューのすべてのインスタンスに対してその色を設定します.. –
UINTのインスタンスにtintColorを設定すると、そのUIButtonにのみローカルエフェクトが適用されます –