Par défaut, UITextField a pour couleur de bordure la couleur gris clair . Je souhaite que mon UITextView ait la même couleur de bordure que UITextField.
J'ai essayé:
myTextView.layer.borderColor = UIColor.lightGrayColor().CGColor
or
myTextView.layer.borderColor = UIColor.lightTextColor().CGColor
or
myTextView.layer.borderColor = myTextField.layer.borderColor
Ils doivent encore avoir une couleur différente. Pouvez-vous me dire comment afficher la bordure UITextView afin qu'elle corresponde à la couleur UITextField?
Je vous remercie.
Essayez ce code.
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;
changez la valeur de borderWidth et de cornerRadius pour obtenir l’interface utilisateur exacte en tant que UITextField.
Ce code Swift fonctionne également pour définir les mêmes couleur, largeur et rayon de bordure que 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
J'avais cette question similaire pour iOS 10 et je n'ai pas pu trouver de réponse, mais c'est ce que j'ai trouvé en utilisant le colorimètre numérique dans Utilitaires et le simulateur 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
Swift 4.x/ios11.
J'ai fait une autre mesure de PSD en utilisant un simulateur ... Je peux confirmer le rayon est 0.5 et la couleur est 0.8, comme 205/255 = 0.8 (ou "cdcdcd" en HEX, comme le suggère PSD, MAIS la largeur doit être 0.5 . (J'ai joint un fichier PSD où vous pouvez comparer le rayon du champ d'édition (UITExtField) ET le rayon appliqué à un UITextView.
Donc c'est correct:
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
Remarque: j’ai déjà essayé d’obtenir la couleur d’un TextField dans View, mais j’ai eu:
si laissez borderGray = self.cellPhoneTxt.layer.borderColor { laisser 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)
}
mais je suis en console:
kCGColorSpaceModelRGB 0 0 0 1
0,0 0,0 0,0 1,0
il semble donc qu'Apple utilise le noir ET certains Alpha.
Essayez ce code pour Swift
let borderColor = UIColor.whiteColor.Cgcolor()
myTextView.layer.borderColor = borderColor.CGColor;
myTextView.layer.borderWidth = 1.0;
myTextView.layer.cornerRadius = 5.0;
La couleur exacte est:
Objectif c:
[UIColor colorWithRed:0.76 green:0.76 blue:0.76 alpha:1.0].CGColor;
Rapide:
UIColor(red:0.76, green:0.76, blue:0.76, alpha:1.0).CGColor
Pour une solution générique tout au long du projet. Vous pouvez externaliser la classe UIView et y ajouter ces méthodes.
-(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));
}
Son une extension de UIView. Ajoutez simplement ces fichiers UIView + Designable.h/m dans votre projet et vous pourrez voir les multiples options supplémentaires dans l'inspecteur d'attributs.