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
}
}