如何知道NSTabViewItem何时发生更改,即用户更改了NSTabView的视图?
理想情况下,我希望生成一个通知,但任何解决方案都是受欢迎的。
发布于 2012-03-27 16:05:26
我最初的回答建议观察NSTabView的selectedTabViewItem,但似乎不起作用(在测试中,我只能让它观察NSKeyValueObservingOptionInitial)。
一个可能更聪明的解决方案是使用委托。在相关控制器中实现tabView:didSelectTabViewItem:。
Docs here。
发布于 2018-01-22 21:07:16
下面是Swift 3中的一个示例。
为您的NSTabViewController创建一个自定义类,它充当NSTabView的委托。NSTabViewController类已经实现了NSTabViewDelegate协议。
class CustomTabViewController: NSTabViewController {
override func tabView(_ tabView: NSTabView, didSelect tabViewItem: NSTabViewItem?) {
let identifier = tabViewItem?.identifier as? String
print(identifier)
}
}然后在界面生成器中:
小弹出框中选择delegate
您还可以在NSTabViewDelegate的委托as explained in the documentation中实现其他方法。
https://stackoverflow.com/questions/9885378
复制相似问题