Я столкнулся с проблемой "толстого 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)
}