【问题标题】:Background app and NSTextField in NSWindowNSWindow 中的后台应用程序和 NSTextField
【发布时间】:2012-10-15 08:39:49
【问题描述】:

我用

隐藏了我的 Cocoa 应用程序的停靠栏图标
ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType(&psn, kProcessTransformToBackgroundApplication);

当用户单击状态栏菜单项时,我的代码会加载一个 NIB 文件并显示该 NIB 的窗口 (makeKeyAndOrderFront:)。该窗口包含一个 NSTextField。

我无法在此文本字段中输入文本。窗口似乎没有正确激活。

当不使用上述代码隐藏停靠图标时,文本输入工作正常。

可能是什么问题?

【问题讨论】:

    标签: macos cocoa


    【解决方案1】:

    试试这个

    [[NSApplication sharedApplication]  activateIgnoringOtherApps:YES];
    [window makeKeyAndOrderFront:self];
    [[textField window] makeFirstResponder: textField];
    

    【讨论】:

      【解决方案2】:

      我找到了解决问题的方法。

      基本上,它默认使应用程序成为代理应用程序,并在必要时以编程方式恢复停靠图标。

      详情请见my blog

      【讨论】:

      • 由于您的博客已关闭,您能否分享有关此修复的更多详细信息?
      猜你喜欢
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多