Как многократно подключить таймер с Ontapesture?IOS

Программируем под IOS
Ответить
Anonymous
 Как многократно подключить таймер с Ontapesture?

Сообщение Anonymous »

Как говорится, что я создал таймер для публикации каждую секунду, и на 5 -й секунду он отключает сборщика, на мой взгляд. Сам таймер начинается с нажатия на сборщика, и он работает с первой попытки, но не подключается к последующим попыткам. В чем проблема? < /P>
struct ContentView: View {
// some other parameters

@State private var isSorting = false

let timer = Timer.publish(every: 1, on: .main, in: .common)
@State private var count = 0

func timeOut() {
if count >= 5 {
isSorting = false
timer.connect().cancel()
count = 0
}

count += 1
}

var body: some View {
// other gesture code

ZStack(alignment: .init(horizontal: .trailing, vertical: .bottom)) {
TabView {
// tabs
}

VStack {
// spacers
// if code

VStack {
Menu {
// picker
} label: {
Image(systemName: "arrow.up.arrow.down")
}
}
.disabled(!isSorting)
.onTapGesture {
isSorting = true
timer.connect()
}
.onReceive(timer) { _ in
timeOut()
}
// .other modifiers
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... tapgesture
Ответить

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

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

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

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

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