Проблема «запаздывания» onDrag в iOS 18IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Проблема «запаздывания» onDrag в iOS 18

Сообщение Anonymous »

Кто-нибудь еще получил ответ от 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»