带有上一个和下一个按钮的UIPageViewController

时间:2017-11-14 01:43:38

标签: swift

如何将上一个和下一个按钮添加到UIPageViewController,仅在按钮上单击该页面时,应该使用水平滚动效果进行更改。任何人都可以建议我参考任何教程吗? 由于我是Swift的新手,我不知道如何实现这一点。请帮忙..

2 个答案:

答案 0 :(得分:1)

在这里你可以使用Buttons:

func pressed(sender: UIButton!) { //next button
        switch VC.CurrentVC {
        case page1:
            VC.CurrentVC = page2
            getNextVC(newIndex: page2)

            break
        case page2:
            VC.CurrentVC = page3
            getNextVC(newIndex: page3)

            break
        case page3:
            VC.CurrentVC = page1
            getNextVC(newIndex: page1)

            break
        default:
            VC.CurrentVC = page1
            getNextVC(newIndex: page1)

        }
    }
    func Secondpressed(sender: UIButton!) { //previous button
        switch VC.CurrentVC {
        case page1:
            VC.CurrentVC = page3
            getNextVC(newIndex: page3)

            break
        case page3:
            VC.CurrentVC = page2
            getNextVC(newIndex: page2)

            break
        case page2:
            VC.CurrentVC = page1
            getNextVC(newIndex: page1)

            break
        default:
            VC.CurrentVC = page1
            getNextVC(newIndex: page1)

        }
    }

按钮处理程序:

func getNextVC(newIndex: UIViewController){

        setViewControllers([newIndex], direction: UIPageViewControllerNavigationDirection.forward, animated: false, completion: nil)
    }

处理移动到nextVC的方法

import Foundation

import UIKit

struct VC {
    static var CurrentVC = UIViewController()
}

结构类:     //存储当前的vc

https://drive.google.com/open?id=1pWLMcU2eny65zqdjxOMbnry2FwhkRjye

演示项目链接 - cmd

供参考,请查看此链接

输出截图 enter image description here

答案 1 :(得分:0)

获取下一个和上一个UIViewController

您应该知道当前页面和上一页/下一页是什么。

示例:

@IBAction func onNext(btn:UIButton) {
    let currentVC = self
    let nextVC = getNextVC(from: currentVC)//implement it!
    // do stuff... (turn page)
}

翻页

这非常简单,UIPageViewController提供了这样的功能。

示例:

pageViewController.setViewControllers([nextVC], direction: .forward, animated: true, completion: nil)