从superview管理子视图?

Sah*_*ani 2 cocoa


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

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

提前致谢..

dan*_*elv 5

有几种方法

您可以将创建子视图的对象设置为tableview的委托,并tableViewSelectionDidChange在该对象中实现.

或者你可以订阅NSTableViewSelectionDidChangeNotification通知,传递你的tableView:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tableViewSelectionDidChange:) name:NSTableViewSelectionDidChangeNotification object:tableView];
Run Code Online (Sandbox Code Playgroud)

并处理它:

- (void)tableViewSelectionDidChange:(NSNotification *)aNotification {
    NSTableView *tableView = (NSTableView *)aNotification.object;
    NSLog(@"selection changed: %i", [tableView selectedRow]);
}
Run Code Online (Sandbox Code Playgroud)