2015-10-15 3 views
1

Итак, я использую NSArrayController с моим NSTableView, и я хочу показать собственный цвет строки, даже NSArrayController не имеет никаких объектов.NSTableView альтернативные цвета строк с NSArrayController

Обычно без какао привязки я могу просто «обмануть» мои numberOfRows так:

var dataStore = [Person]() 

func numberOfRowsInTableView(tableView: NSTableView) -> Int { 
    if dataStore.count < 20 { 
     return 20 
    } else { 
     return dataStore.count 
    } 
} 

А затем получить пользовательские цвета строк ...

func tableView(tableView: NSTableView, didAddRowView rowView: NSTableRowView, forRow row: Int) { 
    if row % 2 == 0 { rowView.backgroundColor = NSColor.blueColor() } 
    else { rowView.backgroundColor = NSColor.reColor() } 
} 

Как я могу получить тот же эффект на пустой табличный вид с привязками какао?

+0

Последний метод - это метод делегата, и вы все равно можете использовать его независимо от привязок, которые действительно заменяют методы источника данных. – stevesliva

+0

Да, я знаю, но мне нужно получить эту работу, даже если нет данных. И that didAddRowView работает только после добавления некоторых данных. – Prontto

ответ

2

Я не знаю о коде для Mac-приложения, но в приложении ios, я легко могу достичь своей потребности с помощью cellForRowAtIndexPath. Вы попробовали?

+0

Пока нет. Я попробую это скоро. – Prontto

+0

Я не очень разбираюсь в iOS, но я тонкий, это не тот случай с OS X. Когда я выбираю строки для табличного представления, все они имеют разные цвета, и если бы я понял, что правильные цвета - это «NSColor.controlAlternatingRowBackgroundColors()». Было бы неплохо, если бы я мог их изменить. – Prontto

Смежные вопросы