![](/img/trans.png)
[英]how to set border color for more than one uitextfield on begin editing in swift 3?
[英]How set swift 3 UITextField border color?
您好,我没有为 UITextfield 边框颜色更改工作没有错误代码,但是在 Swift 3 中使用它时,不要更改文本字段边框颜色,也不会出错。 我需要你的帮助我的代码在下面。
@IBOutlet weak var email: UITextField!
@IBOutlet weak var pass: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let myColor : UIColor = UIColor.white()
email.layer.borderColor = myColor.cgColor
pass.layer.borderColor = myColor.cgColor
}
谢谢!
您还需要设置border width
,因为您的边框颜色已经设置,但您的默认边框宽度是 0.0,所以您看不到它。
所以,设置边框宽度类似,
email.layer.borderWidth = 1.0
更新:
你的代码应该是这样的
@IBOutlet weak var email: UITextField!
@IBOutlet weak var pass: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let myColor = UIColor.white
email.layer.borderColor = myColor.cgColor
pass.layer.borderColor = myColor.cgColor
email.layer.borderWidth = 1.0
pass.layer.borderWidth = 1.0
}
在swift 3
使用以下代码:
鉴于确实加载
outer_line.layer.borderWidth = 1
outer_line.layer.borderColor = UIColor.lightGray.cgColor
尝试使用这个,它可能对你有帮助
let myColor : UIColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 )
myTextField.layer.masksToBounds = true
myTextField.layer.borderColor = myColor.CGColor
myTextField.layer.borderWidth = 2.0
我认为你应该首先提供一个borderWidth
@IBOutlet weak var email: UITextField!
@IBOutlet weak var pass: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let myColor : UIColor = UIColor.white()
email.layer.borderWidth = 1
email.layer.borderColor = myColor.cgColor
pass.layer.borderColor = myColor.cgColor
}
然后设置颜色:)
更新 Swift 3 :
如果要将底部边框设置为 UITextField,请使用以下代码行:
// 函数定义:
func setBottomBorderToTextFields() {
let bottomLine = CALayer()
bottomLine.frame = CGRect(x: 0, y: yourTextFieldName.frame.height - 1, width: yourTextFieldName.frame.width, height: 1)
bottomLine.backgroundColor = UIColor.gray.cgColor // background color
yourTextFieldName.borderStyle = UITextBorderStyle.none // border style
yourTextFieldName.layer.addSublayer(bottomLine)
}
// 在 ViewDidLoad() 中:
self.setBottomBorderToTextFields()
您需要从UITextField
的layer
属性设置borderWidth
。
比如: email.layer.borderWidth = 1
。
此外,如果您经常需要为视图设置边框,您可以进行如下扩展:
extension UIView {
func addBorderAndColor(color: UIColor, width: CGFloat, corner_radius: CGFloat = 0, clipsToBounds: Bool = false) {
self.layer.borderWidth = width
self.layer.borderColor = color.cgColor
self.layer.cornerRadius = corner_radius
self.clipsToBounds = clipsToBounds
}
}
像这样调用: email.addBorderAndColor(color: UIColor.white, width: 0.5, corner_radius: 5, clipsToBounds: true)
由于此方法设置了borderWidth
,它也将解决您的问题。
它正在工作。
txtemail.layer.borderWidth = 1.0
txtemail.layer.borderColor = UIColor.blue.cgColor
它绝对有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.