我已經成功地改變了NSButtonCells的背景對我大部分的廈門國際銀行窗口通過使用windowDidLoad如下:無法設置NSWindowController NSButtonCell的背景顏色,使用的NSToolbar
[[self.generalOkButton cell] setBackgroundColor:[NSColor blueColor]];
出於某種原因,當我嘗試在我的首選項窗口控制器(其中包括一個帶有NSView的工具欄,根據選擇哪個ToolbarItem被換出)執行此操作,任何視圖中任何按鈕的背景色都不會更改。
現在我已經介紹了代碼,並確保代碼中的按鈕確實具有引用(通過IBOutlet),然後在調用方法更改之前查看backgroundColor。它確實正在發生變化,但由於某種原因,該窗口中沒有任何按鈕反映它們的背景被改變了。
是否有一些原因,爲什麼它可能無法在windowDidLoad中工作,因爲NSViews被換入和換出窗口?我試着將設置背景顏色的代碼移動到交換視圖的方法中,但仍然沒有好處。
任何意見/建議表示讚賞。在IRC感謝
UPDATE
有人建議我志願觀察NSButtonCell,看它是否漸漸改回來。
我設置了這一點,我看到改變發生時,我設置的顏色,但就是這樣。沒有什麼似乎再次改變它......但仍然沒有在屏幕上顯示正確的背景顏色的按鈕。
登錄:
BGColor was changed: {
kind = 1;
new = "NSCalibratedRGBColorSpace 0 0.423529 0.792157 1";
old = "<null>";
}
更新2
編寫了一個簡單的例子項目,同時顯示了標籤按鈕顏色行爲和非分頁。它將在Dropbox託管在有限的時間:https://www.dropbox.com/s/nrl71p4yk6iyp4w/TestButtonColor.zip