【发布时间】: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