【问题标题】:Mac Catalyst - Dragging to an inactive windowMac Catalyst - 拖动到非活动窗口
【发布时间】:2019-08-23 14:51:36
【问题描述】:

已通过 Xcode 11b6 中的 Catalyst 为 macOS 构建了一个接受 UIImage 对象作为拖动项目的 iPad 应用程序。

当我从 Finder 或照片中拖动图像时,我发现我的应用必须先放在前台才能接受拖动。

这行得通。

  • 前台我的应用程序。
  • 将图像拖入应用程序。接受丢弃。

这不起作用。

  • 后台我的应用程序。
  • 将图像拖入应用程序。不触发丢弃处理程序,不接受丢弃。

预期的行为是内容可以像任何 Cocoa 应用程序一样被拖到非活动窗口中。

我正在实施UIDropInteractionDelegate

extension MyViewController: UIDropInteractionDelegate {

  func dropInteraction(_ interaction: UIDropInteraction, canHandle session: UIDropSession) -> Bool {
    return session.canLoadObjects(ofClass: UIImage.self)
  }

  func dropInteraction(_ interaction: UIDropInteraction, sessionDidUpdate session: UIDropSession) -> UIDropProposal {
    //only want external app sessions
    if session.localDragSession == nil {
      return UIDropProposal(operation: .copy)
    }
    return UIDropProposal(operation: .cancel)
  }

}

这是 Catalyst 测试版的怪癖还是需要一些额外的 UIWindow/UIScene 魔法?

【问题讨论】:

    标签: ios macos mac-catalyst


    【解决方案1】:

    这似乎是一个 Catalina 错误,已在最新的测试版之一中修复。我正在运行 Beta 7,此问题不再存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2012-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多