KVOオブザーバ#keyPath(UIView.isHidden)
で動作しませんが、"hidden"
が機能します。「隠し」vs #keyPath(UIView.isHidden)
非常に奇妙です。バグか機能ですか?
child.addObserver(self, forKeyPath: "hidden", options: [.initial,.new], context: nil);
override func observeValue(forKeyPath keyPath: String?, of object: Any?, .change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if let view = object as? UIView, view.superview === self && keyPath == "hidden" {
print("*");
}
}
これは(Objective-Cで)次のように宣言されているという事実に関連していますか? '@property(nonatomic、getter = isHidden)BOOL hidden;'、isHidden'はゲッターだけでプロパティは ' /パス"? – Larme
#keyPathのオートコンプリート(UIView .___)は、「非表示」ではなく「isHidden」を挿入することを示します。 – john07