Xcode 如何在ApplescriptObjC中打开新GUI和关闭旧GUI
我试图使它成为这样,当一个按钮被点击时,当前的GUI关闭,一个新的GUI打开 我创建了第二个要打开的界面。现在,我有2个xib文件和AppDelegate文件。我是否使用相同的AppDelegate文件对这两个GUI进行编程 其次,如何关闭第一个xib文件和打开第二个xib文件Xcode 如何在ApplescriptObjC中打开新GUI和关闭旧GUI,xcode,user-interface,applescript,applescript-objc,Xcode,User Interface,Applescript,Applescript Objc,我试图使它成为这样,当一个按钮被点击时,当前的GUI关闭,一个新的GUI打开 我创建了第二个要打开的界面。现在,我有2个xib文件和AppDelegate文件。我是否使用相同的AppDelegate文件对这两个GUI进行编程 其次,如何关闭第一个xib文件和打开第二个xib文件 on buttonClicked_(sender) -- Code that closes current GUI and opens new GUI here end buttonClicked_ 通常,Appl
on buttonClicked_(sender)
-- Code that closes current GUI and opens new GUI here
end buttonClicked_
通常,AppleScriptObjC中只有一个应用程序委托。窗口是否需要位于另一个xib文件中的选择完全取决于窗口的用途。大多数开发人员不希望在MainMenu.xib中有一个窗口,而是希望创建一个MainWindow.xib,或者一些开发人员希望动态创建UI。所以有2个、1个甚至3个xib文件并不能说明什么,无论如何,我希望每个窗口都有一个xib 要使其保持简单并使其正常工作:
- 将新窗口添加到项目中(我将其保存为MainWindow.xib)
- 将文件所有者的类别设置为NSWindowController
- 将窗口与文件的所有者连接并使其成为窗口
- 向项目中添加新的AppleScript(NSObject的子类)
- 为窗口编写IBOutLet和操作(参见下文)
- 将新NSObject添加到xib文件
- 将NSObject(蓝色立方体)的类设置为新的AppleScript对象
- 将车窗与IB插座和IBActions连接
- 还将窗口的委托连接到脚本(蓝色立方体)
script mainWindow
property parent : "NSObject"
property myWindow : missing value
property myButton : missing value
on myButtonClicked:sender
log "I'm clicked"
end myButtonClicked:
end script
要加载窗口,我们的应用程序代理中需要类似的内容:
set theController to current application's class "NSWindowController"'s alloc()'s init()
current application's class "NSBundle"'s loadNibNamed:"MainWindow" owner:theController
现在,当我们在应用程序委托中并正确加载nib时,我们可以通过执行控制器的关闭()
来关闭窗口,并使用控制器的showWindow:me来显示窗口。对于另一个窗口,只需重复上述步骤,您就可以在它们之间切换