重复 iCarousel 的滚动

Repeating iCarousel's scrolling

我在 Swift 3 Xcode 中使用 iCarousel。我试图让它像滑动横幅一样工作。我有这个功能:

func animate() {
    DispatchQueue.global(qos: .userInteractive).async {
        self.carousel.scrollToItem(at: 0, animated: false)

        while(true){
            sleep(3)
            self.carousel.scroll(byNumberOfItems: 1, duration: 0.3)
        }
    }
}

我在viewDidLoad中调用它。它有效,但我认为它不如预期的那么好。在我切换到另一个视图后,滚动继续进行。当我看到旋转木马所在的视图时,让它只滚动的最佳方法是什么?

解决了什么问题:

var timer: Timer!

self.timer = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(self.handleTimer), userInfo: nil, repeats: true)

func handleTimer(){
        self.carousel.scroll(byNumberOfItems: 1, duration: 0.3)
    }