快速用户切换隐藏CALayer

时间:2010-01-09 17:47:43

标签: cocoa core-animation calayer

我有一个GUI cocoa应用程序,当计算机从睡眠状态唤醒时会自动启动。应用程序同时在多个用户帐户中运行,并且有时在用户帐户中启动,该用户帐户不是屏幕上显示的当前用户(即活动控制台用户)。这就是出现问题的地方。

我有一个自定义视图,使用CALayer来显示几个不同图像的组合。 NSView的CALayer包含两个子层,其中一个子层也包含两个子层。当用户在活动用户的帐户中启动应用程序时,没有问题。当应用程序由非活动用户帐户中的自动脚本启动时,自定义NSView不会绘制任何CALayer。我在应用程序中注入了F-Script而没有绘制CALayer,并注意到自定义NSView的layer不包含任何sublayers!请注意,图层设置代码包含在自定义NSView的-awakeFromNib中。我尝试在自定义NSView未绘制时手动调用-awakeFromNib并解决问题(虽然它确实正确设置了sublayers。)

我在网上搜索了this点信息:

  

在OS X v.10.4及更高版本中,如果用户使用快速用户切换,则会自动停止显示链接线程。切换回原始用户时重新启动显示链接。

我知道我的问题与没有引用活动屏幕的用户有关(一个'好的'CGContext引用?)但我没有收到任何错误消息,也没有Quartz / Core Animation的经验指出我正确的方向。

提前感谢您的帮助!

0 个答案:

没有答案