ios - the - Cómo establecer el borde de UITextView en el mismo color de borde de UITextField
the swift programming language pdf (7)
El color exacto es:
C objetivo:
[UIColor colorWithRed:0.76 green:0.76 blue:0.76 alpha:1.0].CGColor;
Rápido:
UIColor(red:0.76, green:0.76, blue:0.76, alpha:1.0).CGColor
Por defecto, UITextField tiene un color gris claro como color de borde. Quiero configurar mi UITextView para que tenga el mismo color de borde que el UITextField.
Lo intenté:
myTextView.layer.borderColor = UIColor.lightGrayColor().CGColor
or
myTextView.layer.borderColor = UIColor.lightTextColor().CGColor
or
myTextView.layer.borderColor = myTextField.layer.borderColor
Aún tienen hasta diferentes colores. ¿Puede decirme cómo ver el borde UITextView para que coincida con el color de UITextField?
Gracias.
Este código Swift también funciona para establecer el mismo color de borde, ancho y radio como UITextField
:
myTextView.layer.borderColor = UIColor(red: 0.9, green: 0.9, blue: 0.9, alpha: 1.0).CGColor
myTextView.layer.borderWidth = 1.0
myTextView.layer.cornerRadius = 5
Para solución genérica a través del proyecto. Puede externar la clase UIView y agregarle estos métodos.
-(void)setBorderColor:(UIColor *)borderColor{
self.layer.borderColor = (borderColor).CGColor;
}
-(UIColor*)borderColor{
return [UIColor colorWithCGColor: self.layer.borderColor];
}
//Getter and setter for border width
-(void)setBorderWidth:(NSInteger)borderWidth{
self.layer.borderWidth = borderWidth;
}
-(NSInteger)borderWidth{
return (NSInteger)roundf((self.layer.borderWidth));
}
Its una extensión de UIView. Simplemente agregue estos archivos UIView + Designable.h / m en su proyecto y podrá ver las múltiples opciones más en el inspector de atributos.
Prueba este código
UIColor *borderColor = [UIColor colorWithRed:204.0/255.0 green:204.0/255.0 blue:204.0/255.0 alpha:1.0];
myTextView.layer.borderColor = borderColor.CGColor;
myTextView.layer.borderWidth = 1.0;
myTextView.layer.cornerRadius = 5.0;
cambie borderWidth y cornerRadius value para obtener la ui exacta como UITextField.
Prueba este código para Swift
let borderColor = UIColor.whiteColor.Cgcolor()
myTextView.layer.borderColor = borderColor.CGColor;
myTextView.layer.borderWidth = 1.0;
myTextView.layer.cornerRadius = 5.0;
Tenía una pregunta similar para iOS 10 y no pude encontrar una respuesta, pero esto es lo que encontré usando el Medidor digital de color en Utilidades y el simulador iOS.
Swift 3 / iOS 10
let color = UIColor(red: 186/255, green: 186/255, blue: 186/255, alpha: 1.0).cgColor
myTextView.layer.borderColor = color
myTextView.layer.borderWidth = 0.5
myTextView.layer.cornerRadius = 5
veloz 4.x / ios11.
Hice otra medida en PSD usando un simulador. Puedo confirmar que el radio es 0.5 y el color es 0.8, como 205/255 = 0.8 (o "cdcdcd" en HEX, como sugiere PSD, PERO el ancho debe ser 0.5 . (Adjunté un PSD donde se puede comparar el radio del campo de edición (UITExtField) ) Y el radio aplicado a una UITextView.
Así que es correcto:
let borderGray = UIColor(red: 0.8, green: 0.8, blue: 0.8, alpha: 1)
self.TxtV.layer.borderColor = borderGray.cgColor
self.TxtV.layer.borderWidth = 0.5
self.TxtV.layer.cornerRadius = 5
Nota: Intenté obtener color de un TextField que ya estaba en View, pero obtuve:
if let borderGray = self.cellPhoneTxt.layer.borderColor {let BG = UIColor (cgColor: borderGray)
print(BG)
var red: CGFloat = 0
var green: CGFloat = 0
var blue: CGFloat = 0
var alpha: CGFloat = 0
BG.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
print(red, green, blue, alpha)
}
pero llegué a la consola:
kCGColorSpaceModelRGB 0 0 0 1
0.0 0.0 0.0 1.0
por lo que parece que Apple está usando negro completo Y algo de alfa.