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


}

谢谢!

尝试使用这个, 可能对你有帮助

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

你还需要设置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

}

我觉得你应该先提供一个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


}

然后设置颜色:)

Updated 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()

swift 3中使用以下代码:

视图中确实加载了

 outer_line.layer.borderWidth = 1
 outer_line.layer.borderColor = UIColor.lightGray.cgColor

正在运行。

  1. 给出边框宽度
  2. 然后给bgcolor。
txtemail.layer.borderWidth = 1.0
txtemail.layer.borderColor = UIColor.blue.cgColor

绝对有效

您需要从 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,它也将解决您的问题。