9

UIButton에는 모든 계정에서 KVO를 준수하는 것으로 보이는 상태 속성이 있으며 달리 표시 할 설명서가 없습니다. 그러나 UIButton의 state 속성에 관찰자를 추가하면 관찰자 콜백이 호출되지 않습니다. 어째서? 당신이 UIControl의 문서를 보면UIButton 상태에서의 키 - 값 관찰

답변

21

는 상태 속성이 표시됩니다 : synthesized from other flags.

나는이 속성에 대한 변경 사항 KVO 호환되지 않는 이유는 것 같다.

그러나 필요한 값을 간단하게 등록하고 관찰 할 수 있습니다. highlighted, selected, enabled. 이러한 속성은 KVO와 호환되며 변경할 때 관찰자 콜백을 받게됩니다.

+4

감사합니다. 나는 현재 다른 부동산을 찾고 있습니다. 일반적으로 KVO를 준수하는 속성과 Cocoa에없는 속성에 대한 문서가 부족하다고 생각합니다. 너도 같은 느낌이야? –

+1

'UIButton'에서'selected'를 관찰하려고했지만 내 관찰자는 호출되지 않았습니다. 'highlighted '로 전환하면 작동합니다. 스위프트 2 사용하기 –

+0

내 버튼은 스위치처럼 작동하므로 결국에는 '강조 표시'를 듣기로 결정했습니다. 강조 표시와 강조 표시에서 두 번 호출되므로 강조 표시가 true이면 무시하고 버튼의'selected' 상태를 검사합니다. –