Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在桌面窗口级别设置的NSPanel+;1登录时可见的问题_Objective C_Cocoa - Fatal编程技术网

Objective c 在桌面窗口级别设置的NSPanel+;1登录时可见的问题

Objective c 在桌面窗口级别设置的NSPanel+;1登录时可见的问题,objective-c,cocoa,Objective C,Cocoa,这是一个相当烦人的问题,程序本身工作得很好,除非我去把它设置为登录时开始 我一直在通过注销和登录来测试它。该程序在我登录时启动,但隐藏在桌面后面。当我点击dockbar中的应用程序图标时,它会出现在最前面,应该是从那里开始的 问题是。。有人遇到过这个问题吗?我应该如何解决它?我希望程序在计算机登录后立即在桌面上可见。在使用IB时,我没有遇到这方面的问题,但我正在使用NSRects绘制几乎所有内容 关于这个问题的任何想法都会有所帮助。谢谢 我的一个应用程序中有类似的东西,似乎运行得很好: // o

这是一个相当烦人的问题,程序本身工作得很好,除非我去把它设置为登录时开始

我一直在通过注销和登录来测试它。该程序在我登录时启动,但隐藏在桌面后面。当我点击dockbar中的应用程序图标时,它会出现在最前面,应该是从那里开始的

问题是。。有人遇到过这个问题吗?我应该如何解决它?我希望程序在计算机登录后立即在桌面上可见。在使用IB时,我没有遇到这方面的问题,但我正在使用NSRects绘制几乎所有内容


关于这个问题的任何想法都会有所帮助。谢谢

我的一个应用程序中有类似的东西,似乎运行得很好:

// 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应用程序,并且需要它的窗口在登录时出现在最前面,这应该会有所帮助。