ios - settitle - swift button action
¿Cómo configurar el color del texto del título de UIButton? (6)
func setTitleColor(_ color: UIColor?, for state: UIControl.State)
Parámetros
:
color:
El color del título a usar para el estado especificado.estado:
El estado que usa el color especificado. Los valores posibles se describen en UIControl.State.
Muestra
:
let MyButton = UIButton()
MyButton.setTitle("Click Me..!", for: .normal)
MyButton.setTitleColor(.green, for: .normal)
Intenté cambiar los colores del texto para un botón, pero aún permanece blanco.
isbeauty = UIButton()
isbeauty.setTitle("Buy", forState: UIControlState.Normal)
isbeauty.titleLabel?.textColor = UIColorFromRGB("F21B3F")
isbeauty.titleLabel!.font = UIFont(name: "AppleSDGothicNeo-Thin" , size: 25)
isbeauty.backgroundColor = UIColor.clearColor()
isbeauty.layer.cornerRadius = 5
isbeauty.layer.borderWidth = 1
isbeauty.layer.borderColor = UIColorFromRGB("F21B3F").CGColor
isbeauty.frame = CGRectMake(300, 134, 55, 26)
isbeauty.addTarget(self,action: "first:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(isbeauty)
También intenté cambiarlo de rojo, negro, azul, pero no pasa nada.
Ejemplo en la configuración del color del título del botón
btnDone.setTitleColor(.black, for: .normal)
Esta es una respuesta compatible 5 rápida. Si desea usar uno de los colores incorporados, simplemente puede usar
button.setTitleColor(.red, for: .normal)
Si desea algunos colores personalizados, primero cree una extensión para UIColor como se muestra a continuación.
import UIKit
extension UIColor {
static var themeMoreButton = UIColor.init(red: 53/255, green: 150/255, blue: 36/255, alpha: 1)
}
Luego úselo para su botón como se muestra a continuación.
button.setTitleColor(UIColor.themeMoreButton, for: .normal)
Sugerencia: puede utilizar este método para almacenar colores personalizados a partir del código de color rgba y reutilizarlos en toda la aplicación.
Solución de interfaz de usuario rápida
Button(action: {}) {
Text("Button")
}.foregroundColor(Color(red: 1.0, green: 0.0, blue: 0.0))
Swift 3, Swift 4, Swift 5
para mejorar los comentarios Esto debería funcionar:
button.setTitleColor(.red, for: .normal)
refiriéndose a los botones de opción, también puede hacerlo con el Control segmentado de la siguiente manera:
paso 1: arrastre un control segmentado a su vista en el inspector de atributos, cambie el título de los dos segmentos, por ejemplo, "Masculino" y "Femenino"
Paso 2: crea una salida y una acción para ella en el código
Paso 3: crea una variable para uso futuro para contener los datos de elección
en el código haga lo siguiente:
@IBOutlet weak var genderSeg: UISegmentedControl! var genderPick : String = "" @IBAction func segAction(_ sender: Any) { if genderSeg.selectedSegmentIndex == 0 { genderPick = "Male" print(genderPick) } else if genderSeg.selectedSegmentIndex == 1 { genderPick = "Female" print(genderPick) } }
func setTitleColor(_ color: UIColor?, forState state: UIControlState)
usar
func setTitleColor(_ color: UIColor?, forState state: UIControlState)
la misma manera que configura el texto del título real.
Docs
isbeauty.setTitleColor(UIColorFromRGB("F21B3F"), forState: .Normal)