最近、最近のiOS 10アップデートの1つで、tintColor
プロパティの動作が大幅に変更されていることに気付きました。UIBarButtonItem色合いが機能しない
私は完全に以前に動作していたコードを持っていましたが、これはまったく動作しません。
私のアプリケーションの1つに、UIBarButtonItem
のコレクションがあり、これはビューコントローラのtoolbarItems
アレイに追加されています。彼らはうまく表示されます。
しかし、ある時点で、ユーザーの操作に応じて特定の項目の色合いを変更したいと考えています。コードは簡単です:
flagButton.tintColor = [UIColor redColor];
このコードは以前は動作していましたが、今は動作しません。私はUIBarButtonItem
への参照が存在し、このコード行が実行されることを確認しました。しかし、色合いは変わらない。 tintColor
プロパティの説明では
それは言う:
ときに、このプロパティの変更サブビューのレンダリングを更新するには、tintColorDidChange()メソッドをオーバーライドします。
私はtintColorDidChange
メソッドを追加しようとしたが、それは呼び出されません。この段階での私の前提は、tintColor
が変更されると、私のボタンは自動的にリフレッシュされないということです。
誰かが手作業でリフレッシュする方法を見つけるのを助けることができますか?ボタンは画像付きの標準UIBarButtonItem
です。 1
更新は実際に私は、私は、ツールバーの代わりに、個々の項目のtintColor
を変更した場合、コードが動作していることに気づきました。何らかの理由で個々のアイテムの色合いを設定しても機能しなくなったようです。誰がなぜこれが当てはまるのか知っていますか?
アップデート2
私は問題の原因を見つけることができたマットのヒントに感謝します。今、私はこの行はUIBarButtonItem
色合いの色に問題が生じた理由として完全に困惑しています...それはそれはにいくつかのあいまいさを導入する可能性があるため
[[UITableViewCell appearance] setTintColor:[ColourTheme sharedTheme].navBackground];
:それはアプリが起動された時に実行されるコードによって引き起こされましたUIAppearance
。とにかく、私はもはや私はそれを簡単に削除することができますこの行が必要なくなりました。私はそのような行動が非常に奇妙であると思うので、私の質問を開いたままにしておきます。そして、ある意味で、質問は未だに答えられていません。
追加情報と同様に、これらの問題を経験したビューコントローラにはテーブルビューが含まれていました。
ワウ私は全く同じ問題があります – Renetik