ios 如何在Swift 3中更改所有TextField边框颜色

rsl1atfo  于 2023-01-18  发布在  iOS
关注(0)|答案(3)|浏览(190)

如何在Swift 3中更改所有TextField边框颜色?我已经构建了一个iPad应用程序,在.xib文件中包含许多TextField,现在我想更改边框颜色,但似乎要写入一个特定的文本字段需要很多行

odopli94

odopli941#

添加这个扩展来为项目中的所有文本域创建边框。

extension UITextField
{
    open override func draw(_ rect: CGRect) {
        self.layer.cornerRadius = 3.0
        self.layer.borderWidth = 1.0
        self.layer.borderColor = UIColor.lightGray.cgColor
        self.layer.masksToBounds = true
    }
}
6gpjuf90

6gpjuf902#

extension UITextField {
func cornerRadius(value: CGFloat) {
    self.layer.cornerRadius = value
    self.layer.borderWidth = 1.0
    self.layer.borderColor = UIColor.lightGray.cgColor
    self.layer.masksToBounds = true
}}
cygmwpex

cygmwpex3#

您应该创建一个作为UITextField子类的新类,如下所示:

import UIKit

class YourTextField: UITextField {
    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        self.setBorderColor()
    }
    required override init(frame: CGRect) {
        super.init(frame: frame)
        self.setBorderColor()
    }
    func setBorderColor(){
        self.layer.borderColor = .red // color you want
        self.layer.borderWidth = 3
        // code which is common for all text fields
    }
}

现在打开xib select all text fields.在identity inspector中,将自定义类更改为YourTextField这样,即使您的项目中有1000个文本字段,也不需要为此多写一行。

相关问题