Mac Catalyst - перетаскивание в неактивное окно

Приложение для iPad, которое принимает UIImage объекты как перетаскиваемые объекты были построены для macOS через Catalyst в Xcode 11b6.

Когда я перетаскиваю изображения из Finder или Photos, я обнаруживаю, что мое приложение должно быть сначала размещено на переднем плане, чтобы принять перетаскивание.

Это работает.

  • Передний план моего приложения.
  • Перетащите изображение в приложение. Дроп принят.

Это не работает

  • Фон моего приложения.
  • Перетащите изображение в приложение. Обработчики сбрасывания не запускаются, сброс не принимается.

Ожидаемое поведение заключается в том, что контент можно перетаскивать в неактивное окно, как любое приложение Какао.

Я реализую 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 магия требуется?

0 ответов

Похоже, это была ошибка Catalina, которая была исправлена ​​в одной из последних бета-версий. Я использую бета-версию 7, и этой проблемы больше нет.

Другие вопросы по тегам