Swift 4 Auto Slide в контроллере просмотра страниц с помощью таймера - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь создать auto sliding в page view controller, используя swift 4.Здесь я попробовал приведенный ниже код, но получаю результат, он повторяет сначала index изображения.Мне нужно знать, как реализовать переход на следующий индекс?

// Image array
var name = ["one.png","two.png","three.png","four.png"]

// Timer in viewdidload()
tTime = Timer.scheduledTimer(timeInterval: 4, target: self, selector: #selector(changeSlide), userInfo: nil, repeats: true)

// Timer function call (The problem is here...)
@objc func changeSlide() { 
        let pageContentViewController = self.viewControllerAtIndex(index: 0)
        self.pageViewController.setViewControllers([pageContentViewController!], direction: UIPageViewControllerNavigationDirection.forward, animated: true, completion: nil)
} 

1 Ответ

0 голосов
/ 06 октября 2018
    // Image array
    var name = ["one.png","two.png","three.png","four.png"]
    var currentIndex = -1

    // Timer in viewdidload()
    tTime = Timer.scheduledTimer(timeInterval: 4, target: self, selector: #selector(changeSlide), userInfo: nil, repeats: true)


    // Timer function call
    @objc func changeSlide() 
   {
    currentIndex = (currentIndex == name.count - 1) ? 0 : currentIndex + 1

    let pageContentViewController = self.viewControllerAtIndex(index: currentIndex)
    self.pageViewController.setViewControllers([pageContentViewController!], direction: UIPageViewControllerNavigationDirection.forward, animated: true, completion: nil)
}
...