我有一个作为代理运行的状态栏应用程序,没有停靠图标或主窗口。当您单击状态栏图标时,会出现一个弹出窗口(想想 Dropbox)并且它有一个按钮。此按钮需要为应用程序启动一个窗口。因此,本质上,当您启动计算机时,应用程序会安静地启动并位于您的状态栏中,并且在您从弹出窗口启动它之前不会打开任何用户界面。我无法通过我的弹出窗口的视图控制器从 main.storyboard 启动视图/视图控制器(这是它自己的单独笔尖)。
我遇到了一个答案,说要尝试以下方法:
- (IBAction)LaunchButtonClicked:(id)sender {
NSStoryboard *storyBoard = [NSStoryboard storyboardWithName:@"Main" bundle:nil]; // get a reference to the storyboard
myController = [storyBoard instantiateControllerWithIdentifier:@"Main"]; // instantiate your window controller
[myController showWindow:nil];
}
但是,这不起作用,因为 instantiateControllerWithIdentifier 返回的是 viewController 而不是 windowViewController。关于如何解决这个问题的任何想法?关于状态栏应用程序的信息并不多。我熟悉 iOS 编程,但这是我第一次尝试 OSX 应用程序。
该应用程序目前非常小,因此如有必要,我可以提供更多源代码。
提前致谢!