繁体   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