val*_*ale 4 calayer uipagecontrol ios
更改颜色非常简单,但是否可以更改所有未选中点的边框?
前任:
dot.layer.borderWidth = 0.5
dot.layer.borderColor = UIColor.blackColor()
是的 这可以做到.. 其实它很简单。
对于iOS 14 Apple 引入了很棒的自定义功能,您可以在其中设置自定义图像甚至设置背景
let pageControl = UIPageControl()
pageControl.numberOfPages = 5
pageControl.backgroundStyle = .prominent
pageControl.preferredIndicatorImage = UIImage(systemName: "bookmark.fill")
pageControl.setIndicatorImage(UIImage(systemName: "heart.fill"), forPage: 0)
Run Code Online (Sandbox Code Playgroud)
对于 iOS 14 之前的版本:-
Pagecontrol 由许多您可以访问的子视图组成。self.pageControl.subviews 返回您 [UIView] 即 UIView 的数组。获得单个视图后,您可以为其添加边框,更改其边框颜色,更改边框宽度,像缩放一样转换点的大小。可以使用 UIView 具有的所有这些属性。
for index in 0..<array.count{ // your array.count
let viewDot = weakSelf?.pageControl.subviews[index]
viewDot?.layer.borderWidth = 0.5
viewDot?.transform = CGAffineTransform(scaleX: 1.2, y: 1.2)
if (index == indexPath.row){ // indexPath is the current indexPath of your selected cell or view in the collectionView i.e which needs to be highlighted
viewDot?.backgroundColor = UIColor.black
viewDot?.layer.borderColor = UIColor.black.cgColor
}
else{
viewDot?.backgroundColor = UIColor.white
viewDot?.layer.borderColor = UIColor.black.cgColor
}
}
Run Code Online (Sandbox Code Playgroud)
它看起来像这样
请记住,您不需要设置 weakSelf?.pageControl.currentPage = indexPath.row。如果有任何问题,请告诉我。希望这能解决您的问题。
祝一切顺利
归档时间: |
|
查看次数: |
5307 次 |
最近记录: |