ios - guidelines - ¿Cómo puedo cambiar el color del título de UIButton?
menu ios (5)
Creo un botón programáticamente ..........
button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(aMethod:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[view addSubview:button];
¿Cómo puedo cambiar el color del título?
Con Swift 3, UIButton
tiene un setTitleColor(_:for:)
. setTitleColor(_:for:)
tiene la siguiente declaración:
func setTitleColor(_ color: UIColor?, for state: UIControlState)
Establece el color del título para usar para el estado especificado.
El siguiente código de Playground muestra cómo crear un UIbutton
en un UIViewController
y cambiar su color de título usando setTitleColor(_:for:)
:
import UIKit
import PlaygroundSupport
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.white
// Create button
let button = UIButton(type: UIButtonType.system)
// Set button''s attributes
button.setTitle("Print 0", for: UIControlState.normal)
button.setTitleColor(UIColor.orange, for: UIControlState.normal)
// Set button''s frame
button.frame.origin = CGPoint(x: 100, y: 100)
button.sizeToFit()
// Add action to button
button.addTarget(self, action: #selector(printZero(_:)), for: UIControlEvents.touchUpInside)
// Add button to subView
view.addSubview(button)
}
func printZero(_ sender: UIButton) {
print("0")
}
}
let controller = ViewController()
PlaygroundPage.current.liveView = controller
Seleccione Show the Assistant Editor
> Timeline <Name of the page>.xcplaygroundpage
en el área de juegos para mostrar la instancia creada de UIViewController
.
Ha creado el UIButton se agrega el ViewController, el siguiente método de instancia para cambiar UIFont, tintColor y TextColor del UIButton
C objetivo
buttonName.titleLabel.font = [UIFont fontWithName:@"LuzSans-Book" size:15];
buttonName.tintColor = [UIColor purpleColor];
[buttonName setTitleColor:[UIColor purpleColor] forState:UIControlStateNormal];
Rápido
buttonName.titleLabel.font = UIFont(name: "LuzSans-Book", size: 15)
buttonName.tintColor = UIColor.purpleColor()
buttonName.setTitleColor(UIColor.purpleColor(), forState: .Normal)
Swift3
buttonName.titleLabel?.font = UIFont(name: "LuzSans-Book", size: 15)
buttonName.tintColor = UIColor.purple
buttonName.setTitleColor(UIColor.purple, for: .normal)
Puede usar -[UIButton setTitleColor:forState:]
para hacer esto.
Ejemplo:
C objetivo
[buttonName setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
Swift 2
buttonName.setTitleColor(UIColor.blackColor(), forState: .Normal)
Swift 3
buttonName.setTitleColor(UIColor.white, for: .normal)
Gracias a richardchildan
Si está usando Swift, esto hará lo mismo:
buttonName.setTitleColor(UIColor.blackColor(), forState: .Normal)
¡Espero que ayude!
Solución en Swift 3 :
button.setTitleColor(UIColor.red, for: .normal)
Esto establecerá el color del título del botón.