使用 PageViewController 上的下一步按钮

Posted

技术标签:

【中文标题】使用 PageViewController 上的下一步按钮【英文标题】:Using next button on PageViewController 【发布时间】:2019-05-19 13:47:01 【问题描述】:

我有一个 pageViewcontroller,它运行良好,我可以左右滚动,但现在我希望能够在下一页旁边添加按钮和使用按钮,而不是在 Viewcontroller 上滑动。

下面是我从左向右滑动的基本代码

extension BaseVC: UIPageViewControllerDataSource, UIPageViewControllerDelegate 

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? 

        var index = (viewController as! TableVC).pageIndex

        if (index == 0) || (index == NSNotFound) 
            return nil
        

        index -= 1

        return viewControllerAtIndex(index: index)

    

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? 

        var index = (viewController as! TableVC).pageIndex

        if index == NSNotFound 
            return nil
        

        index += 1

        if (index == self.pg.count) 
            return nil
        

        return viewControllerAtIndex(index: index)
    


    func presentationCount(for pageViewController: UIPageViewController) -> Int 
        return pg.count
    

    func presentationIndex(for pageViewController: UIPageViewController) -> Int 
        return self.currentIndex
    

    func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int 
        return 0
    

    func viewControllerAtIndex(index: Int) -> TableVC? 
        if self.pg.count == 0 || index >= self.pg.count 
            return nil
        

        let pageContentViewController = TableVC()
        pageContentViewController.pageM = pg
        pageContentViewController.pageIndex = index
        currentIndex = index
        pageContentViewController.tableView.reloadData()

        return pageContentViewController
    

nextBtn 和 backBtn 函数如下

@objc nextBtn(_ sender: Any) 

    

    @objc backBtn(_ sender: Any) 

    

任何帮助都会得到帮助

【问题讨论】:

【参考方案1】:

您需要在 UIPageViewController 子类中使用它

self.setViewControllers([someVC], direction: .forward, animated: true, completion: nil)

【讨论】:

我不明白您的解决方案,我正在尝试使用按钮操作来更改它 手动导航你需要根据你的UI设置你需要导航到someVC的vc来获取下一个和上一个vc在前后数据源方法中使用相同的代码跨度> 里面的动作在哪里? 添加到 UIButton 的目标 寻呼机内部的按钮在哪里还是它的子 vcs ?

以上是关于使用 PageViewController 上的下一步按钮的主要内容,如果未能解决你的问题,请参考以下文章

pageViewController 上的背景图像反向重叠

将 UIWebView 上的 ScreenEdgePanGesture 传递给父 PageViewController

如何删除嵌入式 PageViewController 上的按钮栏?

Pageviewcontroller 在 IOS 6 中不显示翻页动画

UIPageViewController iOS 的下一页按钮

可以在 iOS 应用程序中的 PageViewController 上显示 PDF 吗?