我有一个内容视图的窗口。我以编程方式从不同的nib文件加载子视图。是否有任何方法可以通过窗口内容视图上的控件捕获子视图的更改?
例如,我在子视图上有一个tableview。如果此tableView的选择发生变化,我想在Windows的内容视图上启用一个按钮。 可能吗?如果是,请指导..
提前致谢..
答案 0 :(得分:5)
有几种方法
您可以将创建子视图的对象设置为tableview的委托,并在该对象中实现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]);
}