【问题标题】:XCode: debugging mac app window is always on top across applicationsXCode:调试 mac 应用程序窗口始终位于应用程序的顶部
【发布时间】:2016-06-29 14:19:46
【问题描述】:

我正在开发一个 Mac OS 应用程序,并将首选项窗口显示为模型。这可以按我的意愿工作,我不想改变这种行为。问题是:当窗口显示时,我在一些断点上进行调试,偏好窗口仍然存在,但是,Xcode 的应用程序现在处于焦点状态,但当前应用程序的偏好窗口仍然显示在顶部。这很烦人。我必须把它拖到某个地方才能看到 Xcode 窗口。有什么我可以做的,如果应用程序处于调试模式,那么该偏好窗口也应该消失,而我的应用程序在后台,只有 Xcode 在前台?

【问题讨论】:

  • 我怀疑您可以做很多事情,特别是如果您不想更改窗口的标志。我怀疑你会花很多时间调试那个窗口的代码......
  • @Droppy:我经常需要调试那个窗口并且每次都拖动那个窗口很烦人。
  • 然后您必须在运行调试构建时更改标志并设置其他标志(即常量)。你不能不生气也不做出改变。

标签: xcode macos


【解决方案1】:

当窗口作为模式窗口运行时,其窗口级别设置为NSModalPanelWindowLevel,高于普通窗口。作为仅用于调试的 hack,您可以在 将窗口作为模态运行之前执行以下操作:

dispatch_async(dispatch_get_main_queue(), ^{
    NSApp.modalWindow.level = NSNormalWindowLevel;
});

另一种方法是在与 Xcode 不同的桌面空间上运行您的应用程序。

【讨论】:

  • 第一种方法对我不起作用。我会尝试第二个。 (看起来很有希望。)
猜你喜欢
  • 2013-11-26
  • 1970-01-01
  • 1970-01-01
  • 2013-05-12
  • 2015-11-05
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
相关资源
最近更新 更多