如何子类化页面控制器?

时间:2018-08-25 16:53:15

标签: ios swift controller subclass uipageviewcontroller

我遇到了“胖视图控制器”的问题,因此我决定从中删除一些东西。一切顺利,直到我想继承PageController(UIPageControl)的子类。视图在那里,但是我的按钮不起作用。我很确定这是因为我没有为该类实现正确的Types。能以某种方式确认这一点并告诉我另一种方法吗?

class PageControllerView: UIControl, UIPageViewControllerDelegate {

var view: UIView //Used for the autolayout
var bottomControlsStackView = UIStackView()
var parentVC: HomeController!

init (view: UIView) {
    self.view = view
    super.init(frame: view.frame)
    bottomControlsStackView = UIStackView(arrangedSubviews: [previousButton, pageControl, nextButton])
    setupBottomControls()
}

lazy var pageControl: UIPageControl = {
    let pc = UIPageControl()
    pc.currentPage = 0
    pc.numberOfPages = 2
    pc.currentPageIndicatorTintColor = .white
    pc.pageIndicatorTintColor = .gray
    return pc
}()

@objc func handleNext() {
    let nextIndex = min(pageControl.currentPage + 1, pageControl.numberOfPages - 1)
    let indexPath = IndexPath(item: nextIndex, section: 0)
    pageControl.currentPage = nextIndex
    parentVC.collectionView?.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
}

0 个答案:

没有答案