iphone - uicolors - uicolor
Cómo configurar textColor de UILabel en Swift (8)
Creo que la mayoría de la gente quiere que el texto de su marcador de posición esté en gris y aparezca solo una vez, así que esto es lo que hice:
Configure su color en
viewDidLoad()
(no en IB)commentsTextView.textColor = UIColor.darkGray
Implementar
UITextViewDelegate
en su controladorañadir función a su controlador
func textViewDidBeginEditing(_ textView: UITextView) { if (commentsTextView.textColor == UIColor.darkGray) { commentsTextView.text = "" commentsTextView.textColor = UIColor.black } }
Esta solución es simple.
Cuando intento configurar el color de una UILabel al color de otra UILabel usando el código
myLabel.textColor = otherLabel.textColor
No cambia el color. Cuando uso este código, sin embargo,
myLabel.textColor = UIColor.redColor()
Cambia el color correctamente. ¿Cuál es el problema con la primera línea?
El marcador de posición del campo de texto y la etiqueta "es realmente" es difícil de ver en la noche. Así que cambio su color dependiendo de qué hora del día es.
También asegúrese de conectar el nuevo IBOutlet isReallyLabel. Para ello, abra Main.storybaord y presione la tecla Control y arrastre desde el campo de texto "Convertir" al "es realmente" y seleccione la etiqueta IsReallyLabel en Outlets.
ADVERTENCIA: no he probado para ver si la aplicación está abierta mientras se intercambia la hora del día.
@IBOutlet var isReallyLabel: UILabel!
override func viewWillAppear(animated: Bool) {
let calendar = NSCalendar.currentCalendar()
let hour = calendar.component(.Hour, fromDate: NSDate())
let lightColor = UIColor.init(red: 0.961, green: 0.957, blue: 0945, alpha: 1)
let darkColor = UIColor.init(red: 0.184, green: 0.184 , blue: 0.188, alpha: 1)
switch hour {
case 8...18:
isReallyLabel.textColor = UIColor.blackColor()
view.backgroundColor = lightColor
default:
let string = NSAttributedString(string: "Value", attributes: [NSForegroundColorAttributeName: UIColor.whiteColor()])
textField.attributedPlaceholder = string
isReallyLabel.textColor = UIColor.whiteColor()
view.backgroundColor = darkColor
}
}
Este ejemplo de código que sigue muestra una configuración básica de UILabel
.
let lbl = UILabel(frame: CGRectMake(0, 0, 300, 200))
lbl.text = "yourString"
// Enum type, two variations:
lbl.textAlignment = NSTextAlignment.Right
lbl.textAlignment = .Right
lbl.textColor = UIColor.red
lbl.shadowColor = UIColor.black
lbl.font = UIFont(name: "HelveticaNeue", size: CGFloat(22))
self.view.addSubview(lbl)
Hice una aplicación con dos etiquetas en IB y las siguientes:
@IBOutlet var label1: UILabel!
@IBOutlet var label2: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
label1.textColor = UIColor.redColor() // in Swift 3 it''s UIColor.red
label2.textColor = label1.textColor
}
El color de label2 cambió como se esperaba, por lo que su línea funciona Pruebe println(otherLabel.textColor)
justo antes de configurar myLabel.textColor para ver si el color es lo que espera.
La solución más sencilla es crear etiquetas ficticias en IB, darles el texto del color que desee y establecer en oculto. Luego puede hacer referencia a este color en su código para establecer su etiqueta al color deseado.
yourLabel.textColor = hiddenLabel.textColor
La única forma en que podía cambiar el color del texto mediante programación era usando los colores estándar, UIColor.white
, UIColor.green
...
No sé por qué, pero para cambiar el color del texto de las etiquetas, debe dividir el valor que desea con 255, porque solo funciona hasta 1.0.
Por ejemplo un color azul oscuro:
label.textColor = UIColor(red: 0.0, green: 0.004, blue: 0.502, alpha: 1.0)
Si está utilizando Xcode 8 y swift 3. Use la siguiente manera para obtener el UIColor
label1.textColor = UIColor.red
label2.textColor = UIColor.black
solución para swift 3 -
let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
titleLabel.text = "change to red color"
titleLabel.textAlignment = .center
titleLabel.textColor = UIColor.red