Как создать подкласс для Page Controller? - PullRequest
0 голосов
/ 25 августа 2018

Я столкнулся с проблемой "толстого viewcontroller", поэтому я решил убрать некоторые вещи из него. Все шло отлично, пока я не захотел создать подкласс PageController (UIPageControl). Вид есть, но мои кнопки не выполняют своих действий. Я уверен, что это потому, что я не реализовал правильные типы для класса. Может ли это как-то подтвердить и подсказать другой подход?

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)
}
...