我有一个带有内容视图的窗口。我以编程方式从其他nib文件加载了子视图。有什么方法可以通过窗口的内容视图上的控件捕获子视图上的更改?
例如,我在子视图上有一个tableview。如果此tableView的选择更改,我想启用Windows内容视图上的按钮。
可能吗?如果是,请指导。
提前致谢..
最佳答案
有几种方法
您可以将创建子视图的对象设置为表视图的委托,并在该对象中实现tableViewSelectionDidChange
。
或者,您可以订阅NSTableViewSelectionDidChangeNotification
通知,并传递tableView:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tableViewSelectionDidChange:) name:NSTableViewSelectionDidChangeNotification object:tableView];
并处理:
- (void)tableViewSelectionDidChange:(NSNotification *)aNotification {
NSTableView *tableView = (NSTableView *)aNotification.object;
NSLog(@"selection changed: %i", [tableView selectedRow]);
}