首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocoa -找出NSTabView何时更改了选项卡

Cocoa -找出NSTabView何时更改了选项卡
EN

Stack Overflow用户
提问于 2012-03-27 15:51:39
回答 2查看 3K关注 0票数 4

如何知道NSTabViewItem何时发生更改,即用户更改了NSTabView的视图?

理想情况下,我希望生成一个通知,但任何解决方案都是受欢迎的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-27 16:05:26

我最初的回答建议观察NSTabViewselectedTabViewItem,但似乎不起作用(在测试中,我只能让它观察NSKeyValueObservingOptionInitial)。

一个可能更聪明的解决方案是使用委托。在相关控制器中实现tabView:didSelectTabViewItem:

Docs here

票数 5
EN

Stack Overflow用户

发布于 2018-01-22 21:07:16

下面是Swift 3中的一个示例。

为您的NSTabViewController创建一个自定义类,它充当NSTabView的委托。NSTabViewController类已经实现了NSTabViewDelegate协议。

代码语言:javascript
复制
class CustomTabViewController: NSTabViewController {
    override func tabView(_ tabView: NSTabView, didSelect tabViewItem: NSTabViewItem?) {
        let identifier = tabViewItem?.identifier as? String
        print(identifier)
    }

}

然后在界面生成器中:

  1. 将您创建的自定义类分配给右侧身份检查器中的选项卡视图控制器右侧面板
  2. 左侧界面层次结构面板中,按control键从选项卡视图拖动到自定义选项卡视图控制器(名称将取决于您的自定义类),然后从出现的

小弹出框中选择delegate

您还可以在NSTabViewDelegate的委托as explained in the documentation中实现其他方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9885378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档