如何在Page Control Swift上捕获点击事件

努夫

我遵循有关如何创建的教程UIPageControl,当我单击页面指示器时,它不会更改页面

func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
    guard let viewControllerIndex = orderedViewControllers.index(of: viewController) else {
        return nil
    }
    let previousIndex = viewControllerIndex - 1
    // User is on the first view controller and swiped left to loop to
    // the last view controller.
    guard previousIndex >= 0 else {
        return orderedViewControllers.last
        // Uncommment the line below, remove the line above if you don't want the page control to loop.
        // return nil
    }

    guard orderedViewControllers.count > previousIndex else {
        return nil
    }

    return orderedViewControllers[previousIndex]
}

func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
    guard let viewControllerIndex = orderedViewControllers.index(of: viewController) else {
        return nil
    }

    let nextIndex = viewControllerIndex + 1
    let orderedViewControllersCount = orderedViewControllers.count
    // User is on the last view controller and swiped right to loop to
    // the first view controller.
    guard orderedViewControllersCount != nextIndex else {
        return orderedViewControllers.first
        // Uncommment the line below, remove the line above if you don't want the page control to loop.
        // return nil
    }

    guard orderedViewControllersCount > nextIndex else {
        return nil
    }

    return orderedViewControllers[nextIndex]
}

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 - 40,width: UIScreen.main.bounds.width,height: 40))
    self.pageControl.numberOfPages = orderedViewControllers.count
    self.pageControl.currentPage = 0
    self.pageControl.tintColor = UIColor.gray
    self.pageControl.pageIndicatorTintColor = UIColor.gray
    self.pageControl.currentPageIndicatorTintColor = UIColor.white
    self.view.addSubview(pageControl)
}
func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
    let pageContentViewController = pageViewController.viewControllers![0]
    self.pageControl.currentPage = orderedViewControllers.index(of: pageContentViewController)!

}
Enea Dume

configurePageControl()添加pageControl.addTarget

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 - 40,width: UIScreen.main.bounds.width,height: 40))

        //add target for dots
        pageControl.addTarget(self, action: #selector(self.pageControlSelectionAction(_:)), for: .touchUpInside)
        self.pageControl.numberOfPages = orderedViewControllers.count
        self.pageControl.currentPage = 0
        self.pageControl.tintColor = UIColor.gray
        self.pageControl.pageIndicatorTintColor = UIColor.gray
        self.pageControl.currentPageIndicatorTintColor = UIColor.white
        self.view.addSubview(pageControl)
    }

然后添加选择点时更改页面的方法。

 @objc func pageControlSelectionAction(_ sender: UIPageControl) {
        //move page to wanted page
        let page: Int? = sender.currentPage
        self.pageViewController?.setViewControllers([[orderedViewControllers[page!]]], direction: .forword, animated: true, completion: nil)
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在点击事件上向按钮添加点击效果?

来自分类Dev

如何在禁用的元素上触发点击事件

来自分类Dev

如何在jQuery插入的元素上发生“点击”事件?

来自分类Dev

如何在显示叠加层的更改事件之后捕获点击事件?

来自分类Dev

传单上的可点击L.control

来自分类Dev

如何处理div上的点击事件

来自分类Dev

如何在子元素上触发点击事件

来自分类Dev

如何在iOS Swift中捕获页面滑动事件

来自分类Dev

如何在放置在画布上的图像上获取点击事件

来自分类Dev

引导程序3:如何在.form-control类上使用.col类

来自分类Dev

如何在MacBook Pro上切换Command键和Control键?

来自分类Dev

如何在React Native Refresh Control中缩短上拉到刷新的距离(阈值)

来自分类Dev

如何在选择选项卡上捕获事件

来自分类Dev

如何在Windows 10中的VB6上编译Winsock Control 6.0?

来自分类Dev

如何仅捕获指定节点上的事件?

来自分类Dev

如何在jquery插入的元素上发生“点击”事件?

来自分类Dev

如何将点击事件绑定到元素,是在点击事件上创建的?

来自分类Dev

如何在显示叠加层的更改事件之后捕获点击事件?

来自分类Dev

如何在Linux上捕获挂载事件?

来自分类Dev

如何使用jQuery在OpenLayers中捕获点击事件?

来自分类Dev

如何在组中的特定网格上捕获单击事件

来自分类Dev

Swift Segment Control如何选择多个细分

来自分类Dev

如何在GMSPanoramaView上获取触摸事件/点击事件

来自分类Dev

如何触发图片上的点击事件?

来自分类Dev

如何在Unity Slider UI上停用点击事件?

来自分类Dev

如何在 JavaScript 中的点击事件上添加圆圈?

来自分类Dev

如何在syncfusion列表视图项上设置点击事件?

来自分类Dev

Chrome 扩展 - 如何捕获文档 vanillaJS 上的点击事件

来自分类Dev

如何在 PreferenceCategory 的tilte 上获得点击事件?

Related 相关文章

  1. 1

    如何在点击事件上向按钮添加点击效果?

  2. 2

    如何在禁用的元素上触发点击事件

  3. 3

    如何在jQuery插入的元素上发生“点击”事件?

  4. 4

    如何在显示叠加层的更改事件之后捕获点击事件?

  5. 5

    传单上的可点击L.control

  6. 6

    如何处理div上的点击事件

  7. 7

    如何在子元素上触发点击事件

  8. 8

    如何在iOS Swift中捕获页面滑动事件

  9. 9

    如何在放置在画布上的图像上获取点击事件

  10. 10

    引导程序3:如何在.form-control类上使用.col类

  11. 11

    如何在MacBook Pro上切换Command键和Control键?

  12. 12

    如何在React Native Refresh Control中缩短上拉到刷新的距离(阈值)

  13. 13

    如何在选择选项卡上捕获事件

  14. 14

    如何在Windows 10中的VB6上编译Winsock Control 6.0?

  15. 15

    如何仅捕获指定节点上的事件?

  16. 16

    如何在jquery插入的元素上发生“点击”事件?

  17. 17

    如何将点击事件绑定到元素,是在点击事件上创建的?

  18. 18

    如何在显示叠加层的更改事件之后捕获点击事件?

  19. 19

    如何在Linux上捕获挂载事件?

  20. 20

    如何使用jQuery在OpenLayers中捕获点击事件?

  21. 21

    如何在组中的特定网格上捕获单击事件

  22. 22

    Swift Segment Control如何选择多个细分

  23. 23

    如何在GMSPanoramaView上获取触摸事件/点击事件

  24. 24

    如何触发图片上的点击事件?

  25. 25

    如何在Unity Slider UI上停用点击事件?

  26. 26

    如何在 JavaScript 中的点击事件上添加圆圈?

  27. 27

    如何在syncfusion列表视图项上设置点击事件?

  28. 28

    Chrome 扩展 - 如何捕获文档 vanillaJS 上的点击事件

  29. 29

    如何在 PreferenceCategory 的tilte 上获得点击事件?

热门标签

归档