Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SwiftUI中的字幕(滚动)文本_Swiftui - Fatal编程技术网

SwiftUI中的字幕(滚动)文本

SwiftUI中的字幕(滚动)文本,swiftui,Swiftui,我在SwiftUI中实现字幕(滚动)文本视图时遇到困难。问题是文本需要保持在原始(0)位置2秒钟,然后开始向左移动,显示在右侧,并继续滚动直到0位置,然后再次等待2秒钟 你可以用你所看到的东西来让它工作,但老实说,如果你的视图在任何方面都是有响应的,那么很难让它在不同的屏幕大小下工作。但是如果你在动画中使用这个基础,并结合几何阅读器得到你的零位和最右边的入口点位置,你就可以得到正确的滚动定位。 至于启动和停止,我建议您使用计时器切换名为scrollText的布尔@State变量,以在动画持续2秒

我在SwiftUI中实现字幕(滚动)文本视图时遇到困难。问题是文本需要保持在原始(0)位置2秒钟,然后开始向左移动,显示在右侧,并继续滚动直到0位置,然后再次等待2秒钟

你可以用你所看到的东西来让它工作,但老实说,如果你的视图在任何方面都是有响应的,那么很难让它在不同的屏幕大小下工作。但是如果你在动画中使用这个基础,并结合几何阅读器得到你的零位和最右边的入口点位置,你就可以得到正确的滚动定位。 至于启动和停止,我建议您使用计时器切换名为scrollText的布尔@State变量,以在动画持续2秒后启动/停止动画。首先在.onAppear中切换动画,如下所示:

Text("Hello World")
  .offset(x: scrollText ? zeroPoint : screenEntryPoint)
  .animation(Animation.linear(duration: 8).repeatForever(autoreverses: false))    
  .onAppear {
    self.scrollText.toggle()
  }
如果将计时器设置为10秒以切换scrollText,则可以使动画运行8秒,暂停2秒,然后再次运行


请注意,要使选框文本正常工作,还需要重复文本两次,以便文本从右侧进入动画,同时也从左侧离开。祝你好运

谢谢,我已经想出了解决办法。此答案适用于动态文本: