Как обнаружить longPressGesture на метке табайтаIOS

Программируем под IOS
Anonymous
Как обнаружить longPressGesture на метке табайта

Сообщение Anonymous »

Я не могу понять, как обнаружить длительное нажатие на метку tabItem.
Вот пример кода:

Код: Выделить всё

struct ContentView: View {
var body: some View {
TabView {
Text("Menu")
.tabItem {
Label("Menu", systemImage: "list.dash")
}
.onLongPressGesture {
print("Long pressed!")
}

Text("Order")
.tabItem {
Label("Order", systemImage: "square.and.pencil")
}
}
}
}
В этом случае я вижу «Длительное нажатие!» печатается только при длительном нажатии в самом представлении меню. Если я перенесу модификатор жеста на Label, я не увижу ничего напечатанного, но вместо этого я увижу это в отладчике, когда долго нажимаю на изображение меню:

Жест: истекло время ожидания системного шлюза жестов.

Как это сделать?
ИЗМЕНИТЬ: Я видел этот пост: Почему я получаю это: [SystemGestureGate] Жест: время ожидания системного шлюза жестов истекло с тем же сообщением отладчика. Судя по всему, это связано с обнаружением жестов в нижней части экрана.

Подробнее здесь: https://stackoverflow.com/questions/787 ... item-label

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