我正在使用基于视图的NSTableView
. 我在我的视图中放置了一个按钮并连接它的操作/目标以在 App 委托中调用以下方法:
-(IBAction)fire:(id)sender
中的按钮NSTableView
不会在应用程序委托中调用我的方法。但是,如果我将 aNSButton
放在常规视图中并执行相同操作(将其操作/目标连接到 call fire:
),那么它就可以工作。
我创建了一个示例代码来说明这个问题。
我正在使用基于视图的NSTableView
. 我在我的视图中放置了一个按钮并连接它的操作/目标以在 App 委托中调用以下方法:
-(IBAction)fire:(id)sender
中的按钮NSTableView
不会在应用程序委托中调用我的方法。但是,如果我将 aNSButton
放在常规视图中并执行相同操作(将其操作/目标连接到 call fire:
),那么它就可以工作。
我创建了一个示例代码来说明这个问题。
让您的 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 View Delegate
出口连接到App Delegate对象