UIButton
表示されたタイトルに基づいて特定の外観属性を変更するために、汎用機能を拡張しています。
これを行うには、「状態」プロパティの変更を検出して応答する必要があります。これは、ユーザーが州ごとに異なるタイトルを設定した場合に、外観が適切に調整されるようにするためです。次のようなKVOを使用する必要があると思いました。
[self addObserver:self
forKeyPath:@"state"
options:NSKeyValueObservingOptionNew
context:nil];
しかし、これは@"state"または@"currentTitle"のobserveValueForKeyPath:...メソッドを起動しないようです。これは、UIButtonがこれらのプロパティのKVOパターンを実装していないためだと思います。
クリックを聞きたくない。これらのイベントは状態の変化を引き起こしますが、潜在的な原因はそれだけではありません。
UIButtonの状態変化をリッスンして応答する方法を知っている人はいますか?
ありがとう
アップデート
ここ数年でいくつかのことを学んだので、ちょっと注意してください;)。
それ以来、私は知っているAppleの人々と話をしましたが、KVOが州の資産で機能しない理由は、 UIKitのどれもKVOに準拠することが保証されていないという事実によるものです。ここで繰り返す価値があると思いました。UIKitフレームワーククラスのプロパティをリッスンしようとしている場合は、機能する可能性はありますが、公式にはサポートされておらず、さまざまなiOSバージョンで機能しない可能性があることに注意してください。