Кто-нибудь еще получил ответ от Apple или сталкивался с решением проблемы зависания onDrag при выпуске для iOS 18? Я гонялся за этим неделю, думая, что это я, а потом проснулся и начал тестировать его на старых версиях iOS, и проблема исчезла. Бываю на симуляторах и реальных телефонах. Еще немного покопавшись, и я время от времени вижу разговоры об этой задержке от 0,5 до 1 секунды.
Вот пример кода, который воспроизводит это:
import SwiftUI
import UniformTypeIdentifiers
struct ContentView: View {
@State private var draggableText: String = "Move this"
var body: some View {
VStack(spacing: 80) {
DraggableItem(content: $draggableText)
DropZone {
Text("Place Here!")
.font(.headline)
.foregroundColor(.white)
}
.frame(width: 150, height: 150)
.background(Color.green)
.cornerRadius(12)
}
.padding()
}
}
struct DraggableItem: View {
@Binding var content: String
var body: some View {
Text(content)
.frame(width: 120, height: 120)
.background(Color.red)
.foregroundColor(.white)
.cornerRadius(8)
.onDrag {
NSItemProvider(object: NSString(string: content))
}
}
}
struct DropZone: View {
var content: () -> Content
var body: some View {
ZStack {
content()
}
.onDrop(of: [UTType.text], delegate: DropHandler())
}
}
struct DropHandler: DropDelegate {
func performDrop(info: DropInfo) -> Bool {
// Add logic to handle the drop
print("Item dropped!")
return true
}
}
#Preview {
ContentView()
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-ios-18
Проблема «запаздывания» onDrag в iOS 18 ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
`View.ondrag (_ :)` вызывается снова после `dropdelegate.performdrop (info :)`
Anonymous » » в форуме IOS - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-