故事板中的'关闭'按钮不会链接到视图控制器中的IBAction.swift关闭窗口
你好,你所有聪明的人!我对Xcode 8和Swift3非常陌生,并为“杀手级应用”这个短语带来了新的含义。它会在我有机会提供我的养老金之前杀死我! :-)故事板中的'关闭'按钮不会链接到视图控制器中的IBAction.swift关闭窗口
我的OSX应用程序是苹果菜单右上方的驻留应用程序(info.plist设置为Application is Agent(UIElement)= True)。该应用程序的主要功能,执行applescript,工作正常。它从应用程序菜单图标或键组合运行。我添加了一个“约”窗口,如果从App菜单中选择“about”,窗口就会出现,如果我点击红色圆圈,它会关闭。不过,我似乎无法获得(界面)关闭按钮来关闭窗口。
“约”窗口是从AppDelegate.swift中的NSMenuItem生成的,如下面的代码所示。我想要做的就是在(viewcontroller)接口中用关闭按钮关闭所述窗口。这很简单,但无论我尝试什么,我都无法将Storyboard视图控制器中的关闭按钮链接到viewcontroller.swift中的IBAction,以添加窗口!.close。给出的唯一选项是“呈现对象”绑定。无法链接到AppDelegate.swift中的IBAction。 t必须与窗口的生成方式有关,因为如果我用普通的苹果菜单构建应用程序,界面按钮将链接到代码中的操作。如果有人可以帮助,请发送电子邮件至[email protected],我可以向您发送Xcode 8.2.1项目和Swift3代码。最好的问候,保罗
func windowAbout(sender: NSMenuItem){
let mainStoryboard = NSStoryboard.init(name: "Main", bundle: nil)
myWindowController = mainStoryboard.instantiateController(withIdentifier: "aboutWindowController") as!
NSWindowController
myWindowController.showWindow(self)
}
Xcode 8 appears to have introduced a bug阻止您通过从界面生成器元件拖动到一个视图控制器方法当所讨论的方法中的一类扩展定义进行连接。但是,您可以创建从你的方法拖动到相关的UI元素在界面生成器所需的连接:
谢谢保罗,但该解决方案不适合我。我认为它的原因在于UI代理不应该以这种方式用对话来处理。没关系。用户可以点击窗口右上角的微小红色按钮来关闭对话框。 – pauljvallance
您可以发布相关的故事板(S)的屏幕截图? –
对不起@paul我看不到如何在这里上传图片。然而,图像和代码在这里[链接](http://www.menantol.co.uk/thingsthingy) – pauljvallance