2014-01-04 2 views
-1

Мне не повезло раскрасить текст в таблице NSTableView. Методы делегатаРаскраска текста в таблице NSTableView

-(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView; 

И

-(NSView*) tableView:(NSTableView *)tableView 
     viewForTableColumn:(NSTableColumn *)tableColumn 
         row:(NSInteger)row; 

отлично работает, но

-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell1 forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row 
{ 
      NSLog(@"Fired."); 

      if(row==1) 
      [cell1 setBackgroundColor:[NSColor redColor]]; 
      else if(row==2) 
       [cell1 setBackgroundColor:[NSColor greenColor]]; 
      else 
       [cell1 setBackgroundColor:[NSColor blueColor]];  
} 

не срабатывать. Я подозреваю, что мне что-то не хватает, и помощь будет оценена по достоинству.

Большое спасибо заранее.

+0

Окрашивание, что !? Может быть, выражение «раскрашивание текста» ясное для вас, но не для меня. Является ли это самой текстовой строкой, которую вы хотите раскрасить? Кто знает!? –

ответ

0

Первые 2 метода - это методы источника данных, а третий - метод делегата, поэтому вы, вероятно, не подключили свой контроллер в виде таблицы delegate.

+0

Спасибо Wain за ваш ответ. У меня есть @interface AppDelegate() . Больше требуется? Спасибо, – Walter

+0

Вам необходимо установить свойства представления делегата и источника данных в виде таблицы (2 разных метода). – Wain

+0

Большое спасибо Wain. Я добавил _myTable2.delegate = self; в awakeFromNib, и это сработало. _myTable2.dataSource = самостоятельно; был уже там. Еще раз спасибо. – Walter

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