作者:不如藏拙_487 | 来源:互联网 | 2023-10-11 21:10
我使用UIPageViewController
来显示图像。我需要一个计时器,每5秒钟显示一个接一个的图像。如何使用计时器在5秒后启动事件以移至下一张图片?
使用Timer.publish
创建计时器实例字段,如下所示:
let images = [...] // Array of image names to show
@State var activeImageIndex = 0 // Index of the currently displayed image
let imageSwitchTimer = Timer.publish(every: 5,on: .main,in: .common)
.autoconnect()
然后使用任何视图的.onReceive()
修饰符转到下一张图像:
Image(named: images[activeImageIndex])
.onReceive(imageSwitchTimer) { _ in
// Go to the next image. If this is the last image,go
// back to the image #0
self.activeImageIndex = (self.activeImageIndex + 1) % self.images.count
}
,
您还可以使用@State private var [..]。shuffled()
方法获得数组
然后将其放入计时器
onReceive方法用于您的计时器。
做饭