您好我没有为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
}
谢谢!
答案 0 :(得分:86)
您还需要设置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
}
答案 1 :(得分:8)
尝试使用它, 它可能对你有所帮助
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
答案 2 :(得分:8)
在swift 3
中使用以下代码:
在视图中加载了
outer_line.layer.borderWidth = 1
outer_line.layer.borderColor = UIColor.lightGray.cgColor
答案 3 :(得分:6)
我认为您应首先提供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
}
然后设置颜色:)
答案 4 :(得分:5)
更新了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()
答案 5 :(得分:1)
正在工作。
txtemail.layer.borderWidth = 1.0
txtemail.layer.borderColor = UIColor.blue.cgColor
绝对可以
答案 6 :(得分:1)
您需要通过borderWidth
的{{1}}属性设置UITextField
。
就像:layer
。
此外,如果您经常需要为视图设置边框,则可以进行如下扩展:
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)
,因此也可以解决您的问题。