2013-07-22 37 views
2

我正在使用基于NSTableView的视图。我把一个按钮在我看来和联播其行动/目标调用下面的方法在App委托:基于视图的NSTableView - NSButton子视图不能触发

-(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,Delegate插座连接表视图到应用委托代理对象

+0

'cust omView'未使用,对吧?代码很好,但解释要好得多。 – tenfour

+0

@tenfour我写这篇文章已经很长时间了,但似乎还没有被使用。复制粘贴错误,我猜... – TheNextman

相关问题