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

时间:2016-07-19 13:41:17

标签: ios swift swift3 uitextfield

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


}

谢谢!

7 个答案:

答案 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)

正在工作。

  1. 赋予边框宽度
  2. 然后给bgcolor。
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),因此也可以解决您的问题。