【发布时间】:2019-12-26 01:45:30
【问题描述】:
我想通过 SwiftUI 和 Timer 实现一个简单的视图转换。
我有一个主视图,它是内容视图。如果我从视图中调用 func FireTimer(),该函数会触发计时器。然后在 5 秒后,我会有一个视图转换。
我试过 NavigationLink,但它有一个按钮。计时器无法按下按钮,所以现在我很困惑。 我将在下面显示我的代码。
TimerFire.swift
import Foundation
import UIKit
import SwiftUI
let TIME_MOVENEXT = 5
var timerCount : Int = 0
class TimerFire : ObservableObject{
var workingTimer = Timer()
@objc func FireTimer() {
print("FireTimer")
workingTimer = Timer.scheduledTimer(timeInterval: 1,
target: self,
selector: #selector(TimerFire.timerUpdate),
userInfo: nil,
repeats: true)
}
@objc func timerUpdate(timeCount: Int) {
timerCount += 1
let timerText = "timerCount:\(timerCount)"
print(timerText)
if timerCount == TIME_MOVENEXT {
print("timerCount == TIME_MOVENEXT")
workingTimer.invalidate()
print("workingTimer.invalidate()")
timerCount = 0
//
//want to have a transition to SecondView here
//
}
}
}
ContentView.swift
import SwiftUI
struct ContentView: View {
var body: some View {
Button(action: {
// What to perform
let timerFire = TimerFire()
timerFire.FireTimer()
}) {
// How the button looks like
Text("Fire timer")
}
}
}
SecondView.swift
import Foundation
import SwiftUI
struct SecondView: View {
var body: some View {
Text("Second World")
}
}
我怎样才能简单地显示这个 SecondView?
【问题讨论】:
标签: ios swift timer swiftui swift5