2013-07-22 2 views
2

Я использую представление, основанное на NSTableView. Я поставил кнопку на мой взгляд, и Hookup его действия/цель вызвать следующий метод в делегат приложения:просмотр на основе NSTableView - NSButton subview не срабатывает

-(IBAction)fire:(id)sender 

Кнопка в NSTableView не называет свой метод в делегат приложения. Однако, если я размещаю NSButton в обычном режиме и делаю то же самое (подключаю его действие/цель для вызова fire:), тогда он работает.

Я создал sample code, чтобы проиллюстрировать эту проблему.

ответ

1

Сделайте AppDelegate реализовать NSTableViewDelegate:

@interface AppDelegate : NSObject <NSApplicationDelegate, NSTableViewDelegate> 

Затем добавьте этот метод к реализации:

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { 
    NSView *customView = [tableView makeViewWithIdentifier:@"customview" 
               owner:self]; 
    NSTableCellView *result = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self]; 
    return result; 
} 

Наконец, в вашем MainMenu.xib, подключите Table ViewDelegate выход к Приложение Делегат объект

+0

'cust omView' не используется, не так ли? Код хороший, но объяснение намного лучше. – tenfour

+0

@tenfour это долгое время с тех пор, как я написал это, но, похоже, он не используется. Скопируйте ошибку патча, я думаю ... – TheNextman

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