关于UIButton状态的键值观察

Evi*_*oer 9 iphone objective-c key-value-observing key-value-coding ios

UIButton有一个州财产,所有账户似乎都符合KVO标准,没有其他文件说明.但是,当我向UIButton的state属性添加一个观察者时,从未调用过观察者回调.怎么会?

ada*_*ton 22

如果查看UIControl的文档,则会标记state属性: synthesized from other flags.

我想这就是为什么对这个属性的更改不符合KVO的原因.

但是,您可以简单地注册和观察您需要的值 - highlighted, selected, enabled.这些属性符合KVO,并且当它们发生更改时您将获得观察者回调.

  • 谢谢.我目前正在其他房产上进行KVO.总的来说,我觉得缺乏关于KVO兼容的属性和Cocoa中没有的属性的文档; 你有同感吗? (4认同)
  • 我尝试观察“UIButton”上的“selected”,但我的观察者没有被调用。切换到“突出显示”,它起作用了。使用斯威夫特 2。 (3认同)