gpt4 book ai didi

drag-and-drop - SwiftUI onDrag 在设备上运行时不显示预览图像

转载 作者:行者123 更新时间:2023-12-05 07:06:09 28 4
gpt4 key购买 nike

我注意到自 iOS 13.4 以来可用的 SwiftUI 中的拖放功能存在问题。使用 .onDrag 和 .onDrop 修饰符的拖放操作在模拟器中运行良好,但在真实设备(iPhone 和 iPad)上,您只会看到一个透明的矩形,而不是拖动 View 时的 View 。

有没有人有办法在拖动 View 时获得正确的预览图像?

struct MainView: View {

@State var isDropTarget = false

var body: some View {
VStack{
Image(systemName: "doc.text")
.font(.system(size: 40))
.frame(width: 150, height: 150)
.onDrag { return NSItemProvider(object: "TestString" as NSString) }


Color.orange
.opacity(isDropTarget ? 0.5 : 1)
.onDrop(of: ["public.text"], isTargeted: $isDropTarget) { items in
for item in items {
if item.canLoadObject(ofClass: NSString.self) {
item.loadObject(ofClass: String.self) { str, _ in
print(str ?? "nil")
}
}
}
return true
}
}
}

最佳答案

虽然 iOS 15 在我的测试中没有修复这个错误,但有一个新的 API 允许您指定要显示的预览 View:onDrag(_:preview:) .您可以重新创建被拖动的 View ,在本例中是您的 Image,用于预览。

关于drag-and-drop - SwiftUI onDrag 在设备上运行时不显示预览图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62600014/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com