【发布时间】:2016-02-21 12:14:02
【问题描述】:
我有一个 UIPageViewController,我在其中放置了一个 UIPageControl。这似乎在我滚动时大部分时间都有效,但有时它不会更改当前选择的页面。什么会触发这种行为?
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
let vc = viewController as! WalkthroughViewController
var index = vc.pageIndex as Int
self.pageControl.currentPage = index
if (index == 0 || index == NSNotFound)
{
return nil
}
index--
return self.viewControllerAtIndex(index)
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
let vc = viewController as! WalkthroughViewController
var index = vc.pageIndex as Int
self.pageControl.currentPage = index
if (index == NSNotFound)
{
return nil
}
index++
if (index == self.pageTitles.count)
{
return nil
}
return self.viewControllerAtIndex(index)
}
func viewControllerAtIndex(index: NSInteger) -> UIViewController? {
if ((self.pageTitles.count == 0) || (index >= self.pageTitles.count)) {
return WalkthroughViewController()
}
let pageContentViewController = storyboard!.instantiateViewControllerWithIdentifier("WalkthroughViewController") as! WalkthroughViewController
pageContentViewController.titleText = pageTitles[index] as String
pageContentViewController.subText = pageSubTitles[index] as String
pageContentViewController.imageText = pageImages[index] as String
pageContentViewController.pageIndex = index
return pageContentViewController
}
【问题讨论】:
-
查看这个方法。pageViewController:(UIPageViewController * )pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
标签: ios swift uipageviewcontroller uipagecontrol