UIPageViewController по горизонтали и вертикали смахивания - PullRequest
0 голосов
/ 14 июля 2020

Я использовал UIPageViewController, он отлично работает с вертикальным смахиванием, но я хочу использовать тот же UIPageViewController для горизонтального смахивания. Примечание: только новичок ie программист.

import UIKit

class rootPageViewContoller: UIPageViewController, UIPageViewControllerDataSource {
    
    
    lazy var viewControllerList:[UIViewController] = {
        
        let sb = UIStoryboard(name: "Main", bundle: nil)
        
        let vc1 = sb.instantiateViewController(identifier: "coinVC")
        let vc2 = sb.instantiateViewController(identifier: "notificationVC")
        
        return [vc1, vc2]
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.dataSource = self
        
        if let coinViewContoller = viewControllerList.first{
            self.setViewControllers([coinViewContoller], direction: .forward, animated: true, completion: nil)
        }

    }
    
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
        
        guard let vcIndex = viewControllerList.index(of: viewController) else {return nil}
        
        let previousIndex = vcIndex - 1
        
        guard previousIndex >= 0 else {return nil}
        
        guard viewControllerList.count > previousIndex else {return nil}
        
        return viewControllerList[previousIndex]
    }
    
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
        
        guard let vcIndex = viewControllerList.index(of: viewController) else {return nil}
        
        let nextIndex = vcIndex + 1
        
        guard viewControllerList.count != nextIndex else {return nil}
        
        guard viewControllerList.count > nextIndex else {return nil}
        
        return viewControllerList[nextIndex]
    }

}
...