我有一個NSView我需要注意如果幀改變。如何觀察NSView框架更改?
class CustomView: NSView {
override var frame: NSRect {
didSet {
Swift.print("changed frame: \(self.frame)")
}
}
}
但是,如果superView框架的大小已調整,我只能得到這個「notifikation」。
如果我做這樣的事情的NSView類中:
NotificationCenter.default.addObserver(forName: Notification.Name(rawValue: "changeOwnSize"), object: nil, queue: nil) { notification in
let newSize = NSSize(width: self.frame.width/2, height: self.frame.height)
self.setFrameSize(newSize)
}
的didSet
功能doesn't反應都沒有。儘管幀大小已更改。感謝您的任何建議。
的可能的複製[有一個UIView調整事件?(https://stackoverflow.com/questions/4000664/is-there-a-uiview-resize-event) – GIJOW
嘗試'bounds' .. – sCha
@sCha與'bounds'相同 –