NSPopover窃取关键窗口,使底层窗口闪存选择.任何修复?

Tom*_*sen 9 macos cocoa objective-c osx-lion

我有一个10.7的应用程序,它使用一个小的NSPopover来显示一些文本.用户永远不会与之交互.

当NSPopover出现时,基础视图将失去关键状态,并且选择会更改颜色等.有没有办法让这不会发生?

SG1*_*SG1 5

我这样做:

    [[NSNotificationCenter defaultCenter] addObserverForName:NSPopoverDidShowNotification 
        object:myPopover queue:nil usingBlock:^(NSNotification *note) {
          [window becomeKeyWindow]; //Reclaim key from popover
          [window makeFirstResponder:previousFirstResponder];
    }];
Run Code Online (Sandbox Code Playgroud)

  • 更多:这种方法对我来说不是很完美 - popover得到了一点关键,所以有一个闪光灯.你也应该调用makeKeyWindow而不是keyWindow (2认同)