我使用基於NSOutlineView的視圖和兩個不同的視圖(兩個視圖都是NSTableCellView
的自定義子類)。在頂級視圖中,我顯示帶有計數器的徽章。計數器指示較低級別上的條目數量。該計數器在Apple's SidebarDemo項目之後以圓角矩形NSButton形式實現。使用圓形矩形按鈕作爲帶有計數器的徽章
正如您從圖像中看到的那樣,選擇單元格時按鈕的行爲不是您期望的行爲。我的按鈕變成黑色,而在Apple的示例中它會變成白色。我已經找到了,設置這個特殊的行爲一個按鈕setHighlightsBy
方法的方法:
[[self.button cell] setHighlightsBy: 0];
我用上面的自定義單元格類的awakeFromNib
方法。在同一awakeFromNib
我還設置了按鈕的邊框:
[[self.button cell] setBezelStyle: NSInlineBezelStyle];
的邊框風格的作品不錯,但高亮似乎被忽略。
我可以給出更多信息:大綱視圖使用綁定獲取其內容,其高亮模式設置爲「源列表」。
爲什麼我的突出顯示被忽略?
是的,該按鈕在IB中設置,並且其「啓用」框被選中。它沒有任何區別,無論它是否被檢查... – Roger
@Roger,它確實在演示項目中有所作爲 - 是否可以將代碼中其他位置的按鈕禁用? – rdelmar
是的,我檢查了演示項目,你說得對。但是,我只在單元視圖的awakeFromNib方法中引用該按鈕。在仔細觀察之後,它看起來好像被禁用了某些/某處,因爲它在未被選中時看起來被禁用。 – Roger