我遇到了“胖视图控制器”的问题,因此我决定从中删除一些东西。一切顺利,直到我想继承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)
}