Swift页面控制器故事板UI对象与UIPageviewcontroller连接

问题描述 投票:0回答:1

我已经在容器视图中完成了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)!
    }
ios swift uipageviewcontroller uipagecontrol
1个回答
0
投票
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视图。

© www.soinside.com 2019 - 2024. All rights reserved.