如何设置swift 3 UITextField边框颜色?

Swi*_*per 49 uitextfield ios swift swift3

您好我没有为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


}
Run Code Online (Sandbox Code Playgroud)

谢谢 !

Lio*_*ion 98

您还需要设置border width,因为您的边框颜色已设置但默认边框宽度为0.0,因此您无法看到它.

所以,设置边框宽度的东西,

  email.layer.borderWidth = 1.0
Run Code Online (Sandbox Code Playgroud)

更新:

你的代码应该像,

 @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

}
Run Code Online (Sandbox Code Playgroud)


小智 12

使用以下代码swift 3:

在视图中加载

 outer_line.layer.borderWidth = 1
 outer_line.layer.borderColor = UIColor.lightGray.cgColor
Run Code Online (Sandbox Code Playgroud)


Ash*_*kar 9

尝试使用它,它可能对您有所帮助

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
Run Code Online (Sandbox Code Playgroud)


kam*_*soc 7

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


}
Run Code Online (Sandbox Code Playgroud)

然后设置一个颜色:)


Kir*_*hav 6

更新了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)
}
Run Code Online (Sandbox Code Playgroud)

//在ViewDidLoad()中:

self.setBottomBorderToTextFields()
Run Code Online (Sandbox Code Playgroud)


meo*_*w2x 6

borderWidth您需要从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
    }
}
Run Code Online (Sandbox Code Playgroud)

像这样称呼它: email.addBorderAndColor(color: UIColor.white, width: 0.5, corner_radius: 5, clipsToBounds: true)

由于此方法设置了borderWidth,它也将解决您的问题。