Как установить границу UITextView так же, как цвет границы UITextField
По умолчанию UITextField имеет светло-серый цвет в качестве цвета границы.
Я хочу настроить UITextView на тот же цвет границы, что и UITextField.
Я пробовал:
myTextView.layer.borderColor = UIColor.lightGrayColor().CGColor
or
myTextView.layer.borderColor = UIColor.lightTextColor().CGColor
or
myTextView.layer.borderColor = myTextField.layer.borderColor
У них все еще есть разные цвета.
Не могли бы вы рассказать мне, как увидеть границу UITextView в соответствии с цветом UITextField?
Спасибо.
Ответы
Ответ 1
Попробуйте этот код.
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;
измените значение borderWidth и cornerRadius, чтобы получить точный ui как UITextField.
Ответ 2
Этот код Swift также работает для установки того же цвета границы, ширины и радиуса как 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
Ответ 3
У меня был такой же вопрос для iOS 10, и я не смог найти ответ, но это то, что я нашел с помощью Digital Color Meter в Utilities и 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
Ответ 4
swift 4.x/ios11.
Я сделал еще одну меру в PSD, используя симулятор. Я могу подтвердить, что радиус равен 0,5, а цвет равен 0,8, а 205/255 = 0,8 (или "cdcdcd" в HEX, как предполагает PSD, НО ширина должна быть 0,5. (Я подключил PSD, где вы можете сравнить радиус поля редактирования (UITExtField ) И радиус, примененный к UITextView.
Итак, это правильно:
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
Примечание. Я попытался получить цвет из TextField уже в представлении, но я получил:
если пусть 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)
}
но я попал в консоль:
kCGColorSpaceModelRGB 0 0 0 1
0,0 0,0 0,0 1,0
поэтому кажется, что Apple использует полный черный цвет и немного Alpha.
![enter image description here]()
Ответ 5
Попробуйте этот код для Swift
let borderColor = UIColor.whiteColor.Cgcolor()
myTextView.layer.borderColor = borderColor.CGColor;
myTextView.layer.borderWidth = 1.0;
myTextView.layer.cornerRadius = 5.0;
Ответ 6
Точный цвет:
Objective-C:
[UIColor colorWithRed:0.76 green:0.76 blue:0.76 alpha:1.0].CGColor;
Swift:
UIColor(red:0.76, green:0.76, blue:0.76, alpha:1.0).CGColor
Ответ 7
Для общего решения через проект. Вы можете использовать класс UIView extern и добавлять к нему эти методы.
-(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));
}
Его расширение для UIView. Просто добавьте эти файлы UIView + Designable.h/m в свой проект, и вы увидите несколько дополнительных параметров в инспекторе атрибутов.