Я пытаюсь установить UITextField
borderColor
в iOS 8 в Swift. Я пробовал использовать этот код:
myTextField.layer.borderColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 )
Я получил эту ошибку:
UIColor не конвертируется в CGColor
Я пытаюсь установить UITextField
borderColor
в iOS 8 в Swift. Я пробовал использовать этот код:
myTextField.layer.borderColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 )
Я получил эту ошибку:
UIColor не конвертируется в CGColor
@coderRed дал вам ответ Objective C и ответ Swift. Игнорировать его первую строку
Я разбил его на 2 утверждения ниже в Swift:
let myColor : UIColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 )
myTextField.layer.borderColor = myColor.CGColor
Надеюсь, это поможет! Удачи вам в обучении Swift
Вы можете попробовать это, это работает для меня
myTextField.layer.cornerRadius = 8.0
myTextField.layer.masksToBounds = true
myTextField.layer.borderColor = UIColor( red: 153/255, green: 153/255, blue:0/255, alpha: 1.0 ).CGColor
myTextField.layer.borderWidth = 2.0
Попробуйте следующее:
myTextField.layer.borderColor = [UIColor blackColor].CGColor;
myTextField.layer.borderColor = (UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 )).CGColor;
Я считаю, что вам нужно установить borderWidth
myTextField.layer.borderWidth = 10
Я обнаружил, что самый простой способ установить цвет границы с помощью Swift 3 - это сделать
myTextField.layer.borderColor = UIColor.gray.cgColor
или
myTextView.layer.borderColor = UIColor.gray.cgColor
Надеюсь, это сработает! Удачи.
Проблема с этим заключается в преобразовании UIColor в CGColor, который объясняется в приведенных выше ответах, но проще всего, все, что вам нужно сделать для этого преобразования, - это добавить .CGColor
в конец вашего UIColor. т.е.
myTextField.layer.borderColor = UIColor( red: CGFloat, green: CGFloat, blue:CGFLoat, alpha: CGFloat ).CGColor
myTextField.layer.borderColor = UIColor.darkGrayColor().CGColor
Ваш код:
myTextField.layer.borderColor = [UIColor blackColor].CGColor;
myTextField.layer.borderColor = (UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 )).CGColor;
Что я делаю быстро и что ВСЕГДА работает:
myTextField.layer.borderColor = UIColor.blackColor().CGColor;
myTextField.layer.borderColor = UIColor(red: 0.5, green: 0.5, blue:0, alpha: 1.0 ).CGColor;
Надеюсь, что это поможет:)
Вы также можете добавить строку, например:
myTextField.layer.borderWidth = CGFloat(1.0)
К предыдущим ответам.
В моем случае изменение цвета не было видимым, пока я не разместил эту строку.
Попробуйте это,
extension UITextField{
func setBorderColor(width:CGFloat,color:UIColor) -> Void{
self.layer.borderColor = color.cgColor
self.layer.borderWidth = width
}
}
и реализуйте эту функцию везде, где хотите,
textField.setBorderColor(width: 2.0, color: UIColor.brown)
Надеюсь на эту помощь!
Вы пробовали
myTextField.layer.borderColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 ).cgColor
?
Вы также можете выделить цвет as! CGColor
, но использовать .cgColor
в конце предпочтительнее.