Personnalisé UIPageControl avec dot images

Quand j'en avais besoin pour personnalisé mon UIPageControl j'ai utilisé cette et cette solution.

Légèrement modifié par la nouvelle version de swift, nous avons :

class myPageControl: UIPageControl {
var activeImage: UIImage!
var inactiveImage: UIImage!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
activeImage = UIImage(named: "active.png")!
inactiveImage = UIImage(named: "inactive.png")!
}
func updateDots()
{
for i in 0 ..< self.subviews.count
{
let dot : UIImageView = imageViewForSubview(self.subviews[i])
if (i == self.currentPage) {
dot.image = activeImage
}
else {
dot.image = inactiveImage
}
}
}
func imageViewForSubview(view: UIView) -> UIImageView {
var dot: UIImageView? = nil
if (view.isKindOfClass(UIView)) {
for subview: UIView in view.subviews {
if (subview is UIImageView) {
dot = (subview as! UIImageView)
}
}
if dot == nil {
dot = UIImageView(frame: CGRectMake(0.0, 0.0, view.frame.size.width, view.frame.size.height))
view.addSubview(dot!)
}
}
else {
dot = (view as! UIImageView)
}
return dot!
}
func setPage(page: Int) {
super.currentPage = page
self.updateDots()
}
}

Mon problème est que je ne peux pas changer l'image lors du premier démarrage de l'application.
Il ne changera que lorsque la page est modifiée.

Dans viewDidLoad(), j'ai ajouté setPage(0) et updateDots(), mais il n'y a pas de résultat. Que pouvais-je fait de mal?

InformationsquelleAutor Mikhail Sein | 2016-08-10