【问题标题】:Set QuickLook window size when previewing with QLPreviewingController.preparePreviewOfFile使用 QLPreviewingController.preparePreviewOfFile 预览时设置 QuickLook 窗口大小
【发布时间】:2021-01-08 17:35:49
【问题描述】:

我正在为 macOS 编写一个 QuickLook 插件,一切正常,除了我无法以编程方式设置预览的窗口大小。

它以 800x600 开头,无论我在 XIB 和/或代码中做什么,在调用 completionHandlerpreparePreviewOfFile 之前和/或之后。

由默认插件处理的其他文件类型会根据文件内容调整预览窗口大小。我想这样做。

预览窗口可由用户调整大小,一旦调整大小,当我在 Finder 中选择另一个文件时,它会保持新大小,如果我关闭它并在我的插件处理的文件上重新打开它,它会返回到 800x600。

我错过了什么?

【问题讨论】:

    标签: swift macos quicklook


    【解决方案1】:

    QLPreviewingController 应该设置它的preferredContentSize 以便窗口可以相应地调整大小。

    https://developer.apple.com/documentation/appkit/nsviewcontroller/1434409-preferredcontentsize

    【讨论】:

    • 当我尝试这个时,窗口起初看起来很大,然后很快变成我设置的首选大小。有什么办法可以避免吗?
    【解决方案2】:

    接受的答案设置为preferredContentSize,似乎打破了 macOS Catalina 中所有子视图的自动调整大小。设置后,当用户手动调整大小或进入全屏时,内容将不再跟踪预览窗口大小。

    查看我的问题here

    所以我想在答案中添加以下内容:在 macOS Catalina 上没有已知的方法可以在不破坏自动调整大小的情况下执行此操作,但它在 macOS Big Sur 上运行良好。 preferredContentSize 行应包含在 #available(macOS 11, *) 保护中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      • 2015-10-13
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      相关资源
      最近更新 更多