当前位置: 首页 > 面试题库 >

保持窗口始终在最前面?

堵宪
2023-03-14
问题内容

在Objective-C for Cocoa Apps中,可以使用这种方式使窗口始终位于顶部吗?

如何用Swift实现相同的目标?

self.view.window?.level = NSFloatingWindowLevel

导致构建错误 Use of unresolved identifier 'NSFloatingWindowLevel'


问题答案:

要更改窗口级别,您不能在viewDidload中执行此操作,因为视图的window属性始终在那里为零,但是可以通过覆盖viewDidAppear方法或IBAction方法来实现:

斯威夫特1

override func viewDidAppear() {
    super.viewDidAppear()
    view.window?.level = Int(CGWindowLevelForKey(kCGFloatingWindowLevelKey))
}

迅捷2

view.window?.level = Int(CGWindowLevelForKey(.FloatingWindowLevelKey))

迅捷3

view.window?.level = Int(CGWindowLevelForKey(.floatingWindow))

斯威夫特4

最后,他们修复了奇怪的语法:

view.window?.level = .floating


 类似资料:
  • 问题内容: 这是在PyQt4,Linux和Python 2.5上 我可以将PyQt的窗口设置为“始终位于其他应用程序之上”吗? 例如,在GTK中,我使用属性:Modal。 现在,在PyQt中,我正在使用QWidget,但是,我找不到一种方法来实现。 有任何想法吗?? 问题答案: 向QMainWindow传递 窗口标志(或使用setWindowFlags)。 顾名思义,这是对窗口管理器的提示(不是硬

  • 问题内容: 我正在编写一个打算在双监视器设置上运行的应用程序,其中“ Display” JFrame在一个监视器上全屏显示,而“ Control” JFrame在另一监视器上全屏显示,向显示器发送指令。我尝试了两种设置全屏显示的方法;每个成功与否取决于操作系统。 在Windows中可以使用,但是在OS X和Linux中,JFrame隐藏在底座/面板下。 我的另一种方法,利用 在我尝试过的所有三个操

  • 问题内容: 在编写使用matplotlib的脚本时,我在运行脚本时会暂时获得一个交互式图形窗口,该窗口会在查看图之前立即消失。如果我在iPython中以交互方式执行相同的代码,则制图窗口将保持打开状态。运行脚本时,如何使matplotlib在生成图形时使图形保持打开状态? 例如,我可以保存该图,但是不能使用来显示它: 问题答案: 根据文档,您可以传递一个实验参数。当然,如果您的matplotlib

  • 我正在构建一个反向代理服务器,它将授权http请求并将其传递给一些内部API。 我根据DB中的条目授权传入请求。 这个项目中的性能是优先的——反向代理服务器不应该增加太多响应时间。 简而言之: 我正在使用来查询数据库。我在Spring配置中的init期间打开Hibernate会话: 然后我将会话注入DAO层,并在read方法中使用它: 正如您所看到的,我并不是在每次DAO调用中都关闭/打开会话。我

  • 问题内容: 我有一个在控制台窗口中运行的简单Python脚本。 如何确保控制台窗口始终位于顶部,并在可能时调整其大小? 问题答案: 要在cmd窗口中执行此操作,您可能必须调用许多win32调用。 使用win32gui.EnumWindows枚举所有窗口以获取窗口句柄 找到与您的程序运行方式匹配的“窗口标题”。例如,在我的系统上双击.py文件,窗口标题为“ C:\ Python26 \ python

  • 问题内容: 我正在使用Java JDBC将日期写到SQL Server 2008,然后将其读回。 回读的日期始终比实际写入的日期早两天。 我正在使用准备好的语句插入包含Date字段的行。日期值由以下人员提供: 将日期写入数据库后,如果运行,SQL Server将向我显示正确的日期: 如果我通过JDBC运行相同的查询,则使用以下命令从结果集中检索日期值 插入的行是表中唯一具有非空日期的行,因此这似乎