How to set the border of UITextView to same as border color of UITextField
By default UITextField
has a light gray color as its border color.
I want to set my UITextView
to have the same border color as the UITextField
.
I tried:
myTextView.layer.borderColor = UIColor.lightGrayColor().CGColor
// or
myTextView.layer.borderColor = UIColor.lightTextColor().CGColor
// or
myTextView.layer.borderColor = myTextField.layer.borderColor
They still have up to have different color.
How to set the UITextView
border to match UITextField
color?
Try this 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;
change borderWidth and cornerRadius value to get exact ui as UITextField.
This Swift code also works for setting same border color, width & radius as 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
I had this similar question for iOS 10, and wasn't able to find an answer, but this is what I found using the Digital Color Meter in Utilities and the iOS Simulator.
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.
I did another measure in PSD using simulator. I can confirm radius is 0.5 and color is 0.8, as 205/255 = 0.8 (or "cdcdcd" in HEX, as PSD suggests, BUT width must be 0.5. (I attached a PSD where You can compare radius of edit field (UITExtField) AND radius applied to a UITextView.
So its 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
Note: I tried to get color from a TextField already on View, but I got:
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)
}
but I got in console:
kCGColorSpaceModelRGB 0 0 0 1
0.0 0.0 0.0 1.0
so it seems Apple is using full black AND some Alpha.