我有一個 NSSplitView 顯示兩個 NSTableView 實體。我需要檢測哪個表視圖已變為“活動”(焦點),這意味著用戶單擊了那個。我需要知道這一點,因為每個表視圖都充當另一個視圖的源串列,該視圖顯示所選行的內容。這兩個表共享另一個視圖。
我可以通過繼承 NSTableView 并對mouseDown:其他方法做出反應來做到這一點,但我寧愿避免僅僅為此而進行子類化。我也不想跟蹤任何 NSWindow 事件,只是為了知道用戶是否單擊了其中一個表(我寧愿繼承 NSTableView)。
目前,我使用委托方法tableViewSelectionDidChange:,但顯然,只有在選定行發生更改時才會呼叫此方法。我需要知道即使所選行沒有更改,表也會變為活動狀態。
觀察clickedRow表視圖的屬性似乎不起作用。如果可能不符合 KVO。
有任何想法嗎?
uj5u.com熱心網友回復:
對于那些感興趣的人,我發現最方便的解決方案是NSTableView利用NSControl. 因此,就像 NSButton 一樣,它可以在單擊時發送動作訊息(滑鼠向上)。對于每個 tableView,我將其“動作”連接到界面構建器中我的控制器物件的相同 ibaction 選擇器。控制器識別發送者并采取相應的行動。無需繼承 NSTableView。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/482400.html
標籤:目标-c 稳定视图 应用套件 nssplitview
