• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 点击 pageControl 滚动到另一个 View (点击圆点)

[复制链接]
菜鸟教程小白 发表于 2022-12-11 22:39:37 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我已经为 PageViewControll 设置了 2 个 View 。 我能够在 View 之间移动,并且 pageControl(点)对应于正确的页面 - 但是点击这些点还不能滚动到正确的 View 。

我在这里找到了一些关于如何创建函数的答案,但未能成功实现使其工作。 页面 Controller 的代码如下(没有点击功能) 完整代码是:

func configurePageControl() {
        pageControl = UIPageControl(frame: CGRect(x: 0,y: UIScreen.main.bounds.maxY - 50,width: UIScreen.main.bounds.width,height: 50))
        self.pageControl.numberOfPages = viewControllerList.count
        self.pageControl.currentPage = 0
        self.pageControl.alpha = 0.5
        self.pageControl.tintColor = UIColor.white
        self.pageControl.pageIndicatorTintColor = UIColor.black
        self.pageControl.currentPageIndicatorTintColor = UIColor.white
        self.view.addSubview(pageControl)


    }

        @IBAction func pageControltapped(_ sender: Any) {
        guard let pageControl = sender as? UIPageControl else { return }
        let selectedPage = pageControl.currentPage
        self.setViewControllers([viewControllerList[selectedPage]], direction: .forward, animated: true, completion: nil)
    }


    }

感谢您的帮助!!



Best Answer-推荐答案


  1. 您需要为 pageControl 创建 IBAction,您可以从中检测出哪个点被点击。

  2. 然后,您需要使用 setViewControllers(_:direction:animated:completion 方法以编程方式滚动页面。

    func setViewControllers(_ viewControllers: [UIViewController]?, 
          direction: UIPageViewController.NavigationDirection, 
           animated: Bool, 
         completion: ((Bool) -> Void)? = nil)
    

    Here's the link to documentation

使用以下代码:

@IBAction func pageControltapped(_ sender: Any) {
    guard let pageControl = sender as? UIPageControl else { return }
    let selectedPage = pageControl.currentPage
    self.setViewControllers([viewControllerList[selectedPage]], direction: .forward, animated: true, completion: nil)
}

为 pageControl 添加目标以将其与 IBAction 链接:

func configurePageControl() {
    //...your code as it is....
    //add following line
    self.pageControl.addTarget(self, action: #selector(pageControltapped(_), for: .touchUpInside)
}

关于ios - 点击 pageControl 滚动到另一个 View (点击圆点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55405731/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap