Objective c 在桌面窗口级别设置的NSPanel+;1登录时可见的问题
这是一个相当烦人的问题,程序本身工作得很好,除非我去把它设置为登录时开始 我一直在通过注销和登录来测试它。该程序在我登录时启动,但隐藏在桌面后面。当我点击dockbar中的应用程序图标时,它会出现在最前面,应该是从那里开始的 问题是。。有人遇到过这个问题吗?我应该如何解决它?我希望程序在计算机登录后立即在桌面上可见。在使用IB时,我没有遇到这方面的问题,但我正在使用NSRects绘制几乎所有内容Objective c 在桌面窗口级别设置的NSPanel+;1登录时可见的问题,objective-c,cocoa,Objective C,Cocoa,这是一个相当烦人的问题,程序本身工作得很好,除非我去把它设置为登录时开始 我一直在通过注销和登录来测试它。该程序在我登录时启动,但隐藏在桌面后面。当我点击dockbar中的应用程序图标时,它会出现在最前面,应该是从那里开始的 问题是。。有人遇到过这个问题吗?我应该如何解决它?我希望程序在计算机登录后立即在桌面上可见。在使用IB时,我没有遇到这方面的问题,但我正在使用NSRects绘制几乎所有内容 关于这个问题的任何想法都会有所帮助。谢谢 我的一个应用程序中有类似的东西,似乎运行得很好: // o
关于这个问题的任何想法都会有所帮助。谢谢 我的一个应用程序中有类似的东西,似乎运行得很好:
// open window and force to the front
[preferencesWindow makeKeyAndOrderFront:nil];
[preferencesWindow orderFrontRegardless];
[preferencesWindow center];
试试看会发生什么。如果你不想让[preferencesWindow center]居中,显然你不需要它。我找到了问题的解决方案。这与我的应用程序是一个LSUIElement应用程序这一事实有关,因为我是为商店演示机制作的。我无法在发布时看到我的windows的原因是因为LSUIElements的工作方式,所以我不得不告诉它做一些事情
[[NSApplication sharedApplication]activateIgnoringOtherApps:YES];
[window orderFrontRegardless];
[window makeKeyWindow];
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
在那之后,它似乎起了作用。这些都起作用了,我一直在试着看看他们是否能解决这个问题,但这很奇怪。应用程序在登录时启动,但在桌面后面。我必须再次点击图标,让它出现在前面,一旦出现,它就会显示在那里。我的所有其他程序都能很好地使用类似的代码,我不太明白。谢谢你的帮助,看来我要把事情弄得更糟了。当然,如果你找到了解决办法,请告诉我们。对不起,我帮不上忙了!嗯,我发现可能是什么原因导致了问题。应用程序在plist中被设置为UIElement,因为我希望应用程序不能正常运行,因为我自己的原因,比如它不应该在打开时在dock中显示图标。我有另一个应用程序,我也设置了,但它在登录时显示良好。如果我取消该选项,应用程序可以正常启动。欢迎在测试了一段时间后,它工作得很好,因此如果您需要制作一个LSUIElement应用程序,并且需要它的窗口在登录时出现在最前面,这应该会有所帮助。