我是 Objective-C 和 Cocoa 的初学者。
我想创建一个无窗口应用程序,它只在系统托盘中显示一个 NSStatusItem
。托盘工作正常,但是有一个问题。
出于某种原因,我的应用程序自动为我创建了一个我不想要的窗口。
我认为这是我在 Xcode 中创建应用程序时创建的自动 Interface Builder 模板造成的,所以我从项目中删除了 .nib 文件。然而,窗口仍然被创建。
唯一包含对窗口的引用的行在标题中:
NSWindow *window;
@property (assign) IBOutlet NSWindow *window;
在实现文件中:
@synthesize window;
都是自动添加的,不是我写的
如何才能阻止应用程序创建窗口?我什至尝试从代码中删除所有对 window
的引用,包括 NSWindow *window
,但窗口仍然被创建。
我现在的临时解决方法是在应用程序中调用 [window close];
,但肯定有更好的方法吗?
最佳答案
我怀疑您的代码中没有创建窗口的内容。当您创建一个新的 Cocoa Xcode 应用程序时,Xcode 会为您设置一个带有您的界面的 XIB。在 Interface Builder 中打开 MainMenu.xib(应该在 Resources 下)并删除它默认抛出的窗口。
关于objective-c - 无窗口 Cocoa 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6784182/