Swiftui 如何在没有按钮的情况下在多个文本视图之间自动切换

Swiftui 如何在没有按钮的情况下在多个文本视图之间自动切换,swiftui,Swiftui,我想自动更改文本。我可以让它与切换按钮,但我想做它没有按钮。我希望它每3秒交替一次 代码如下: struct ContentView: View { @State var homeString = true var body: some View { VStack { Text(homeString ? "Welcome." : "How can I help you?").font(.title)

我想自动更改文本。我可以让它与切换按钮,但我想做它没有按钮。我希望它每3秒交替一次

代码如下:

struct ContentView: View {
   @State var homeString = true
   var body: some View {
       VStack {
            Text(homeString ? "Welcome." : "How can I help you?").font(.title)
            .animation(.easeInOut(duration:1.0))
          Button(action: {self.shortString.toggle()}) {
            Text("Toggle").padding()
          }
      }
   }
}

您可以创建一个计时器,每3秒触发一次,并切换
主字符串

struct ContentView: View {
    @State var homeString = true

    @State var timer: Cancellable?

    var body: some View {
        VStack {
            Text(homeString ? "Welcome." : "How can I help you?")
                .font(.title)
                .animation(.easeInOut(duration: 1.0))
        }
        .onAppear {
            self.timer = Timer.publish(every: 3, on: .main, in: .common)
                .autoconnect()
                .sink(receiveValue: { _ in self.homeString.toggle() })
        }
    }
}
如果要在任何时候停止计时器,只需调用:

timer?.cancel()