Я расширяю UIButton
общей функциональностью для изменения определенных атрибутов внешнего вида на основе отображаемого заголовка.
Для этого мне нужно обнаружить и отреагировать на изменения в свойстве "state". Это так, чтобы убедиться, что внешний вид настроен правильно, если пользователь установил разные заголовки для разных состояний. Я предположил, что мне нужно будет использовать какой-то вид KVO, например:
[self addObserver:self
forKeyPath:@"state"
options:NSKeyValueObservingOptionNew
context:nil];
Но, похоже, это не вызывает метода наблюдающийВалюФорФКей: ... для @ "state" или @ "currentTitle". Я предполагаю, что это потому, что UIButton не реализует шаблон KVO для этих свойств.
Я не хочу просто слушать клики. Эти события вызывают изменение состояния, но не являются единственными потенциальными причинами.
Кто-нибудь знает способ прослушивания и реагирования на изменения состояния кнопки UIB?
Спасибо
UPDATE
Просто примечание, поскольку за последние пару лет я кое-чему научился;).
С тех пор я разговаривал с некоторыми людьми из Apple, которые знают, и причина, по которой KVO не работает с государственной собственностью, связана с тем, что NONE UIKit гарантированно соответствует KVO. Мысль, которую стоит повторить здесь - если вы пытаетесь прослушать любое свойство класса инфраструктуры UIKit, имейте в виду, что оно может работать, но официально не поддерживается и может работать на разных версиях iOS.