当您在全屏模式下(在全屏空间中)应用程序时,除非您"轻推"屏幕顶部,否则将隐藏菜单栏.然而,如果您点击聚光灯热键,菜鸟会礼貌地向下移动到聚光灯搜索栏的屏幕.优秀.
我正在迁移状态栏/无面应用程序,我希望模仿这个聚光灯的菜单栏处理.在雪豹下,应用程序通过显示菜单(它有一个NSStatusBar项目,我调用popUpStatusItemMenu)来响应系统热键.在应用程序处于全屏模式/空间的情况下,狮子会仍然为全屏应用程序隐藏菜单栏(请注意,热键是调出状态栏项目并使用键盘我可以激活菜单上的各个操作 - 我只是看不到弹出的菜单).
重申一下 - 有人知道聚光灯(狮子下面)是如何显示菜单栏来回应热键的吗?或者我应该问什么时候处理我的用户界面的更好方法是在Lion下?
谢谢,
请参阅代码段.尝试使用NSViewAnimation淡入其主窗口.NIB只有一个窗口/菜单(例如,这个项目几乎是直接来自cocoa app向导).通过取消选中"在启动时可见",在NIB中修改了窗口.永远不会调用委托方法animationShouldStart.如果它很重要我在xcode 4.2中的10.7.
我基本上只是不明白为什么这不起作用.请给我一些感觉.
谢谢
#import "TestAppDelegate.h"
@implementation TestAppDelegate
@synthesize window = _window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
// [[self window] orderFront: self];
NSRect _saveRect = [_window frame];
NSRect _zeroRect = _saveRect;
_zeroRect.size = NSMakeSize(0, 0);
NSDictionary *fadeInAttrs = [NSDictionary dictionaryWithObjectsAndKeys:
[_window contentView], NSViewAnimationTargetKey,
NSViewAnimationFadeInEffect, NSViewAnimationEffectKey,
[NSValue valueWithRect:_zeroRect], NSViewAnimationStartFrameKey,
[NSValue valueWithRect:_saveRect], NSViewAnimationEndFrameKey,
nil];
NSViewAnimation *_viewAnimIn = [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObjects: fadeInAttrs, nil]];
[_viewAnimIn setDuration:1.0];
[_viewAnimIn setAnimationCurve:NSAnimationEaseInOut];
[_viewAnimIn setAnimationBlockingMode:NSAnimationBlocking];
[_viewAnimIn setDelegate:self];
[_viewAnimIn startAnimation];
} …Run Code Online (Sandbox Code Playgroud)