1
我想根据焦点是否改变NSView的背景。当mainWindow改变时重画NSView
我发现这个问题:Change NSView background color when window has focus
而且除了当窗口失去或获得集中重绘不会触发第一个答案工作正常。
如何在mainWindow更改时触发重绘?
我想根据焦点是否改变NSView的背景。当mainWindow改变时重画NSView
我发现这个问题:Change NSView background color when window has focus
而且除了当窗口失去或获得集中重绘不会触发第一个答案工作正常。
如何在mainWindow更改时触发重绘?
在你NSWindow
委托:
func windowDidBecomeMain(notification: NSNotification) {
let theView = ...
theView.needsDisplay = true
}
func windowDidResignMain(notification: NSNotification) {
let theView = ...
theView.needsDisplay = true
}
在你NSView
子类:
func drawRect(rect: NSRect) {
if self.window.isMainWindow {
// draw active appearance
} else {
// draw inactive appearance
}
}