Comment faire clignoter ou clignoter un bouton?
Je suis en train de changer un bouton de couleur (juste un flash/clin) à vert lorsqu'une analyse est correcte et rouge quand il y a un problème. Je suis capable de le faire avec une vue comme si
func flashBG(){
UIView.animateWithDuration(0.7, animations: {
self.view.backgroundColor = UIColor.greenColor()
})
}
Mais sur un bouton, il reste vert
func flashBtn(){
UIButton.animateWithDuration(0.5, animations: {
self.buttonScan.backgroundColor = UIColor.greenColor()
})
}
J'ai créé le bouton en code
func setupScanButton() {
let X_Co = (self.view.frame.size.width - 100)/2
let Y_Co = (self.viewForLayer.frame.size.height + 36/2)
buttonScan.frame = CGRectMake(X_Co,Y_Co,100,100)
buttonScan.layer.borderColor = UIColor.whiteColor().CGColor
buttonScan.layer.borderWidth = 2
buttonScan.layer.cornerRadius = 50
buttonScan.setTitle("Scan", forState: .Normal)
buttonScan.backgroundColor = UIColor.blueColor()
buttonScan.addTarget(self, action: "buttonScanAction", forControlEvents: .TouchUpInside)
buttonScan.setTitleColor(UIColor(red:255/255, green: 255/255, blue:255/255, alpha: 1), forState: UIControlState.Normal)
self.view.addSubview(buttonScan)
}
Dois-je appeler setupScanButton() à nouveau?
source d'informationauteur alex
Vous devez vous connecter pour publier un commentaire.
J'espère que cela va résoudre votre problème.
Cela permet de démarrer et d'arrêter un clignotement du bouton
onClick
si vous ne voulez flash immédiatement le bouton suffit d'utiliser la première instruction.Cela devrait fonctionner dans les Swift 4
Vous pouvez essayer quelque chose comme ceci:
Swift 4:
J'ai fait une extension avec quelques options utiles:
Tout d'abord, j'ai surdéfini la
hittest
fonction de permettant la touch également lorsque le bouton sealpha
est égal à 0.0 (transparent) au cours de l'animation.Puis , l'entrée de tous les revendeurs à valeur ajoutée ont une valeur par défaut de sorte que vous pouvez lancer le
blink()
méthode sans paramètresJ'ai introduit également la
enabled
paramètre pour démarrer ou arrêter les animations sur le bouton.Enfin, si vous voulez vous pouvez arrêter l'animation après un temps spécifique avec le
stopAfter
paramètre.Utilisation:
Les utilisations typiques:
Swift 3.0
Swift 3.0