Mac Catalyst - 拖到非活动状态 window
Mac Catalyst - Dragging to an inactive window
已在 Xcode 11b6 中通过 Catalyst 为 macOS 构建了接受 UIImage
对象作为拖动项的 iPad 应用程序。
当我从 Finder 或照片中拖动图像时,我发现必须先将我的应用程序置于前台才能接受拖动。
这有效。
- 前台我的应用程序。
- 将图片拖入应用程序。接受掉落。
这行不通。
- 后台我的应用程序。
- 将图片拖入应用程序。没有触发掉落处理程序,不接受掉落。
预期的行为是可以像任何 Cocoa 应用一样将内容拖入非活动 window。
我正在实施 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
魔法?
这似乎是 Catalina 的一个错误,已在最新的测试版之一中修复。我是 运行 Beta 7,此问题已不存在。
已在 Xcode 11b6 中通过 Catalyst 为 macOS 构建了接受 UIImage
对象作为拖动项的 iPad 应用程序。
当我从 Finder 或照片中拖动图像时,我发现必须先将我的应用程序置于前台才能接受拖动。
这有效。
- 前台我的应用程序。
- 将图片拖入应用程序。接受掉落。
这行不通。
- 后台我的应用程序。
- 将图片拖入应用程序。没有触发掉落处理程序,不接受掉落。
预期的行为是可以像任何 Cocoa 应用一样将内容拖入非活动 window。
我正在实施 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
魔法?
这似乎是 Catalina 的一个错误,已在最新的测试版之一中修复。我是 运行 Beta 7,此问题已不存在。