从superview管理子视图?

时间:2011-02-09 06:45:53

标签: cocoa


我有一个内容视图的窗口。我以编程方式从不同的nib文件加载子视图。是否有任何方法可以通过窗口内容视图上的控件捕获子视图的更改?

例如,我在子视图上有一个tableview。如果此tableView的选择发生变化,我想在Windows的内容视图上启用一个按钮。 可能吗?如果是,请指导..

提前致谢..

1 个答案:

答案 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]);
}