I'm trying to display a button once the user swiped to the last viewcontroller (4/4). But the index incorrectly outputs the wrong number (even though correct view controller is being shown).
func viewControllerAtIndex(index : Int) -> UIViewController? {
if((self.pageTitles.count == 0) || (index >= self.pageTitles.count)) {
return nil
}
let pageContentViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageContentViewController") as! PageContentViewController
pageContentViewController.imageName = self.images[index]
pageContentViewController.titleText = self.pageTitles[index]
pageContentViewController.pageIndex = index
println(pageContentViewController.imageName)
if index == 3 { // show start button once user reaches the last screen (index = 3)
startBtn.hidden = false
} else {
startBtn.hidden = true
}
return pageContentViewController
}
All the views are shown correctly, except index randomly jumps from 1, 2, 4, 2. If I swipe back and forth it gets worse.
Why is the index not showing the correct index (consistent with the view controller being shown)?