簡體   English   中英

如何設置swift 3 UITextField 邊框顏色?

[英]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()

您需要從UITextFieldlayer屬性設置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 ,它也將解決您的問題。

它正在工作。

  1. 給邊框寬度
  2. 並在給 bgcolor 之后。
txtemail.layer.borderWidth = 1.0
txtemail.layer.borderColor = UIColor.blue.cgColor

它絕對有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM