Add a UIPageViewController programmatically

Viewed 6231

I am trying to add a UIPageViewController programmatically to a custom UICollectionViewCell. At expected result I want to be able to swipe between different controllers inside the UICollectionViewCell. This is the code I wrote:

import UIKit

class SlidingCellCell : UICollectionViewCell, UIPageViewControllerDataSource, UIPageViewControllerDelegate{


    var pages = [UIViewController]()
    let pageControl = UIPageControl()
    let pageViewController = UIPageViewController()

    override func awakeFromNib() {
        super.awakeFromNib()

        pageViewController.dataSource = self
        pageViewController.delegate = self
        let initialPage = 0
        let page1 = myViewController1()
        let page2 = myViewController1()
        let page3 = myViewController1()
        self.pages.append(page1)
        self.pages.append(page2)
        self.pages.append(page3)
        pageViewController.setViewControllers([pages[initialPage]], direction: .forward, animated: true, completion: nil)
        pageViewController.view.frame = self.frame
    }

I am stuck on adding pageViewController to the cell. If I write self.addSubview(pageViewController) I get an error telling me that the function is expecting a UIView.

I also have another error telling me that the class dose not conform the protocol UIPageViewControllerDataSource.

2 Answers
Related