如何在代码中调用用户活动

时间:2017-07-15 07:13:37

标签: swift uikit nswindowcontroller

我正在尝试从工具栏中向第一响应者中的自定义活动发送操作。对于图像按钮,我知道我可以拖放到第一个响应者。但我希望在分段控制中有3个按钮。我似乎无法从故事板中设置分段单元格的单独动作。

所以我的下一个想法是将动作直接发送到Window控制器,从那里,我可以尝试将它发送到我的第一响应者的自定义动作。我尝试了以下代码但没有成功。

@IBAction func visibilityChanged(_ sender: NSSegmentedControl) {
    switch sender.selectedSegment {
    case 0:
        self.try(toPerform: Selector(("showStructure")), with: sender)
    case 1:
        self.try(toPerform: Selector(("showActivity")), with: sender)
    case 2:
        self.try(toPerform: Selector(("showOutput")), with: sender)
    default:
        break
    }
}

我的方法错了吗?如果是这样,我该怎么做?如果没有,我的代码出了什么问题?

1 个答案:

答案 0 :(得分:1)

self.try(toPerform: Selector(("showStructure")), with: sender)showStructure发送给self,这是窗口控制器。

将动作发送给sendAction(_:to:from:) NSApplication的第一响应者。

NSApp.sendAction(#selector(showStructure(_:)), to: nil, from: sender)