2
我有一個基於視圖的NSTableView,我通過覆蓋NSTableRowView子類中的drawSelectionInRect
來設置自定義突出顯示顏色。NSTableView行 - 突出顯示時更改顏色
最初,我注意到當我點擊它時,文本會自動從深色變成淺色(儘管最近它只是間歇性地)。我在這個表格行視圖中也有圖形,當行被突出顯示時,對比度較差,所以我在表格視圖的代表中實現了tableViewSelectionDidChange
。
它工作的很好,除了tableViewSelectionDidChange
直到之後纔會調用我釋放鼠標按鈕。當我用鍵盤改變選擇tableViewSelectionDidChange
立即着火。
我的兩個主要的問題在這裏:
- 我可以
tableViewSelectionDidChange
火立即,而不是在mouseUp事件? - 有什麼我可以做的,以確保我的行視圖中的文本可靠地更改爲白色時,該行的選擇?
我查看了蘋果應用程序如何處理這個問題。我查看了Mail.app,並在消息列表中單擊了一行(它包含附件回形針圖標)。郵件通過不改變行顏色來處理它,直到鼠標移動。有沒有辦法可以做到這一點?
有一個'tableViewSelectionIsChanging:'委託方法,看起來很適合你的目的,不是嗎?如果不是,爲什麼不呢? – bhaller
這正是我所尋找的;我無法相信我沒有在文檔中注意到它。謝謝! – Aaron
好吧,我把它作爲答案,然後,得到它的功勞。 : - >我沒想到這會很容易! - > – bhaller