第一次做这个简单的功能时,百度了一下网上大都是说重写setCurrentPage这个方法进行拦截,可是亲自试了一下好像并不能实现。现跟大家分享一个比较简单的自定义pageControl的方法。实现思想主要是 ”通过KVC可以快速的自定义pageControl“
_pageImage 和_currentPageImage 在Xcode 6.4之前的版本是可以看到对应的带下划线成员变量。但Xcode 6.4之后的版本就不可以了。
具体代码:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let pageConl = UIPageControl(frame: CGRect(x: 100, y: 100, width: 250, height: 300))
pageConl.numberOfPages = 5
pageConl.currentPage = 1
pageConl.setValue(UIImage(named: "compose_keyboard_dot_selected"), forKeyPath: "_currentPageImage")
pageConl.setValue(UIImage(named: "compose_keyboard_dot_normal"), forKeyPath: "_pageImage")
self.view.addSubview(pageConl)
}
注意:设置numberOfPages的个数一定要在设置currentPage之前才可以。这个看似很容易的点,平常不留言就可能会出错。