2015-03-16 17 views
5

enter image description hereJak zmienić kolor tła w NSTextField NSPopOver

Mac OSX 10.10 Xcode 6.1

stworzyłem tableview w NSPopOver. Próbuję zmienić kolor tła pola tekstowego. Czemu? bez efektu. Podświetlenie stołu jest ustawione na "regularne". w jaki sposób mogę zmienić kolor tła pola tekstowego na biały?

Odpowiedz

15

Znany błąd z polami tekstowymi i mieszaniem "wibracyjnym" dodanym w Yosemite. Ma wpływ na popover.

Obejście polega na ustawieniu właściwości appearance widoku tabeli na NSAppearanceNameAqua.

To był confirmed przez inżyniera Apple w swoich devforums.

+0

Dzięki! Działa bardzo dobrze. – CocoaUser

+0

Bezcenna odpowiedź. Dotyczy to każdego innego widoku. To doprowadzało mnie do szału. Dziękuję Ken – rmvz3

+0

Jestem na 10.12 i niestety to rozwiązanie nie działa dla mnie. Mam taki sam problem, ale w niestandardowym NSMenu, które moim zdaniem wewnętrzne jest nadal wyświetlane jako popover (ale jestem w 100% pewien). Dla każdego elementu menu (NSMenuItem) ustawiam swój niestandardowy widok z item.view = X, a następnie mam NSTextField dodany na górze X. Pole tekstowe jest doskonale wyświetlane, gdy nie rysuję żadnego tła w drawRect of X, zamiast tego zawsze jest ten dziwny kolor, kiedy rysuję tło (zasadniczo, gdy element jest podświetlony). – ggould75

7

W mojej aplikacji miałem ten sam problem. Użyłem Swift i to działało dla mnie. W Twojej opiniiForTableColumn:

let cell = tableView.makeViewWithIdentifier(tableColumn!.identifier!, owner: self) as! NSTableCellView 
    cell.textField?.drawsBackground = true 
    cell.textField?.backgroundColor = NSColor.clearColor() 
Powiązane problemy