Lorsque je règle l'alpha du bouton, cela affecte également l'opacité du titre. Existe-t-il un moyen de ne cibler que l'arrière-plan et de laisser l'alpha du titre à 1,0?
Cela fonctionne pour moi:
self.myButton.backgroundColor = [UIColor clearColor];
ou si vous ne voulez pas que tout soit clair, mais avec transparence, vous pouvez utiliser:
self.myButton.backgroundColor = [UIColor colorWithRed:200.0/255.0 green:200.0/255.0 blue:200.0/255.0 alpha:0.5];
Le deuxième exemple vous donnerait une couleur grise avec alpha 0.5.
Mise à jour Swift 4
myButton.backgroundColor = .clear
OR
myButton.backgroundColor = UIColor(red: 200.0/255.0, green: 200.0/255.0, blue: 200.0/255.0, alpha:0.5)
Dans Swift :
import UIKit
class SignInUpMenuTableViewControllerBigButton: UIButton {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.applyCustomDesign()
}
func applyCustomDesign() {
// We set the background color of the UIButton.
self.clearHighlighted()
}
override var highlighted: Bool {
didSet {
if highlighted {
self.highlightBtn()
} else {
self.clearHighlighted()
}
}
}
func highlightBtn() {
self.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.0)
}
func clearHighlighted() {
self.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.05)
}
}
Sous-classer UIButton et étendre la méthode setEnabled: semble fonctionner:
- (void) setEnabled:(BOOL)enabled {
[super setEnabled:enabled];
if (enabled) {
self.imageView.alpha = 1;
} else {
self.imageView.alpha = .25;
}
}
Swift button.backgroundColor = UIColor.white.withAlphaComponent(0.7)
Avec un bouton UIB, vous pouvez supprimer l’arrière-plan en définissant le style du bouton sur Personnalisé plutôt que sur Rectangle. Le titre reste intact, mais l’arrière-plan du bouton est supprimé. Si vous procédez de la sorte dans Storyboards, vous pouvez modifier le style du bouton dans les propriétés de l'élément. Pour le code, le format est:
UIButton *button = [[UIButton alloc] buttonWithType:UIButtonTypeCustom];
// Setup frame and add to view