我已经在容器视图中完成了pageviewcontroller我可以通过使用programmatic来显示页面控件,但我的容器视图是通过使用storyboard来实现的,所以我不知道如何在容器中心内显示页面控制器。所以,我使用故事板页面控制器ui对象拖放它现在如何连接我的页面视图控制器方法以及如何通过使用pageviewcontroller图像数组计数使点移动。
func configurePageControl() {
// The total number of pages that are available is based on how many available colors we have.
//pageControl = UIPageControl(frame: CGRect(x: 0,y: UIScreen.main.bounds.maxY - 50,width: UIScreen.main.bounds.width,height: 50))
pageControl = UIPageControl(frame: CGRect(x: self.containerview.frame.size.width / 2, y: self.containerview.frame.size.height - 50,width: UIScreen.main.bounds.width,height: 50))
self.pageControl.numberOfPages = pageTitles.count
self.pageControl.currentPage = 0
self.pageControl.tintColor = UIColor.black
self.pageControl.pageIndicatorTintColor = UIColor.white
self.pageControl.currentPageIndicatorTintColor = UIColor.black
//self.containerview.addSubview(pageControl)
}
// MARK: Delegate functions
func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
let pageContentViewController = pageViewController.viewControllers![0]
//self.pageControl.currentPage = pageTitles.index(of: pageContentViewController)!
}
func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
if let viewController = pageViewController.viewControllers?[0] {
guard let index = arrayVCs.index(of: viewController) else {
return
}
//you can find index here..
self.pageControl.currentPage = index
}
}
更新
func pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool)
{
if (!completed) {
self.pageControl.currentPage = pageViewController.viewControllers!.first!.view.tag //
}
}
将标记设置为viewcontrollers视图。