2014-05-15 122 views
0

什么是一步一步的指导,显示用户的login.xib,然后根据结果显示mainmenu.xib?Login.xib然后启动mainmenu.xib XCode OS X

我试图改变login.xib并更改“常规”项目设置它的“主界面”,但在加载时,我得到:

Could not connect the action loginButton: to target of class NSApplication 

我做了什么错?

回答

0

你的login.xib文件的所有者是什么类?这是错误信息的原因。您需要一个自定义控制器类来加载并拥有该Nib。对于MainMenu.xib,如果您有单协调器应用程序,那就是应用程序委托。我建议保持该设置。 Login.xib需要一个NSWindowController子类来拥有和加载它。您将在applicationDidFinishLaunching中创建该控制器。控制器将加载笔尖并显示窗口。

但一些进一步的评论:

在单协调器应用程序时,Xcode建立拥有该MainMenu.xib窗口中的自定义应用程序委托类 - 的MainMenu.xib笔尖装入NSApplicationMain因为它在上市Info.plist作为NSMainNibFile

所以,你可以尝试让你的NSMainNibFile的login.xib像你讨论过的一样,这将由你的应用程序委托所拥有。

然后,您可以在用户登录时将MainMenu.xib加载到自定义窗口控制器中。如果用户注销,您可以重新显示登录屏幕。当登录屏幕可见时,主菜单不可见,因为它不是login.xib的一部分,并且尚未加载。

然而,我强烈建议将mainmenu.xib保存为NSMainNibFile,并为login.xib和登录后显示的用户界面设置自定义窗口控制器。