![](/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.