我正在尝试自定义UIPageControlView。我从here引用了解决方案。我重写了swift版本。结果是定制的UIPageControl仅在我滑动滚动视图时显示。它始终显示默认外观。
这是代码。
import UIKit
class CustomizedPageControl: UIPageControl {
// MARK: Initialization
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
func updateDots() {
for i in 0...self.subviews.count - 1 {
let dot = self.subviews[i]
if i == self.currentPage {
dot.layer.borderWidth = 0.0
dot.layer.backgroundColor = UIColor.redColor().CGColor
} else {
dot.layer.borderWidth = 1.0
dot.layer.borderColor = UIColor.grayColor().CGColor
dot.backgroundColor = UIColor.clearColor()
}
}
}
func setCustomizedCurrentPage(page: Int) {
super.currentPage = page
self.updateDots()
}
}
答案 0 :(得分:1)
将此方法更改为此...
func updateDots() {
for i in 0...self.subviews.count - 1 {
let dot = self.subviews[i]
dot.layer.borderWidth = 0.0
dot.layer.borderColor = UIColor.grayColor().CGColor
if i == self.currentPage {
dot.layer.borderWidth = 0.0
dot.layer.backgroundColor = UIColor.redColor().CGColor
}
}
}