tutorial the programming programación lenguaje language apple ios swift

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.