setActivationPolicy为Regular和openWindow

时间:2013-04-20 21:27:46

标签: objective-c cocoa

applicationDidFinishLaunching应用activationPolicy设置为Prohibited(隐藏停靠栏图标)。

我有一个方法将其设置为NSApplicationActivationPolicyRegular(能够打开并聚焦窗口)然后打开窗口,但我必须运行它两次才能工作。设置策略不会影响openWindow:方法。

- (void)openWindow {
    [NSApp activateIgnoringOtherApps:YES];
    [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
    [NSApp openWindow:window];
}

我是否需要推迟openWindow:

1 个答案:

答案 0 :(得分:0)

您何时致电openWindow?也许您应该在applicationDidFinishLaunching之后发出呼叫。

顺便说一下,如果你想隐藏停靠栏图标并且能够专注于窗口,你应该尝试NSApplicationActivationPolicyAccessory以外的NSApplicationActivationPolicyProhibited