如何在 class 中声明 UIPageControl

how to declare UIPageControl inside class

我正在尝试将 pageControl 添加到我的 collectionView Cell 中的集合视图,因此我需要声明 UIPageControl

let CollectionViewPageControl: UIPageControl = {
    let pageControl = UIPageControl()
    pageControl.frame = CGRect(x: 0, y: 100, width: 10, height: 10)
    pageControl.currentPage = 0
    pageControl.currentPageIndicatorTintColor = UIColor.red
    pageControl.pageIndicatorTintColor = UIColor.lightGray
    return pageControl
}

但是我遇到了这个错误Cannot convert value of type '() -> _' to specified type 'UIPageControl'

有什么帮助吗?

您将 collectionViewPageControl 声明为 UIPageControl,但您正在为其分配闭包。

你可以这样做:

let collectionViewPageControl: UIPageControl = UIPageControl()
collectionViewPageControl.frame = CGRect(x: 0, y: 100, width: 10, height: 10)
collectionViewPageControl.currentPage = 0
collectionViewPageControl.currentPageIndicatorTintColor = UIColor.red
collectionViewPageControl.pageIndicatorTintColor = UIColor.lightGray

您可以在 Swift here 中阅读有关闭包的更多信息。

并且不要忘记将它添加到您的 collectionViewCell(或任何将被分页的 UICollectionView 的父级)。

yourCollectionViewCell.addSubview(collectionViewPageControl)