你好聪明的人!我是Xcode 8和Swift3的新手,并为“杀手级应用”这个词带来了新的含义。在它有机会提供我的退休金之前它会杀了我! : - )
我的OSX应用程序是苹果菜单右上角的驻留应用程序(info.plist设置为Application is Agent(UIElement)= True)。应用程序的主要功能,执行一个AppleScript,工作正常。它从应用程序菜单图标或键组合运行。我已经添加了一个' about'窗口和窗口出现,如果我选择' about'从应用程序菜单中,如果我单击红色圆圈,它将关闭。但是,我似乎无法通过(界面)关闭按钮来关闭窗口。
'关于'窗口是从AppDelegate.swift中的NSMenuItem生成的,如下面的代码所示。我试图做的就是用(viewcontroller)界面中的关闭按钮关闭所述窗口。它很简单,但无论我尝试什么,我都无法将Storyboard视图控制器中的关闭按钮链接到viewcontroller.swift中的IBAction,以便添加窗口!.close。给出的唯一选择是“代表对象”#39;捆绑。它也无法链接到AppDelegate.swift中的IBAction。 t必须与窗口的生成方式有关,因为如果我使用普通的apple菜单构建应用程序,界面按钮将链接到代码中的操作。如果有人可以提供帮助,请发送电子邮件至pauljvallance@icloud.com,我可以向您发送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)
}
答案 0 :(得分:0)
Xcode 8 appears to have introduced a bug,当在类扩展中定义相关方法时,阻止您通过从Interface Builder元素拖动到视图控制器方法来建立连接。但是,您可以通过从方法拖动到Interface Builder中的相关UI元素来创建所需的连接: