Ich verfolge dieses answer eine benutzerdefinierte UITextField, aber zu schaffen, ich nicht das gleiche Ergebnis könnte, ist hier, wie ich es tat:Wie UITextField anpassen?
Methode 1 (genau wie das Original Antwort):
extension UITextField {
func useUnderLine() {
let border = CALayer()
let borderWidth = CGFloat(1.0)
border.borderColor = UIColor.white.cgColor
border.frame = CGRect(x: 0, y: self.frame.size.height - borderWidth, width: self.frame.size.width, height: self.frame.size.height)
border.borderWidth = borderWidth
self.layer.addSublayer(border)
self.layer.masksToBounds = true
}
}
override func viewDidLoad() {
super.viewDidLoad()
firstTextField.useUnderLine()
}
Methode 2 (unter Verwendung einer benutzerdefinierten Klasse):
class CustomTextField: UITextField {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let borderWidth = CGFloat(1.0)
self.layer.borderColor = UIColor.white.cgColor
self.layer.frame = CGRect(x: 0, y: self.frame.size.height - borderWidth, width: self.frame.size.width, height: self.frame.size.height)
self.layer.borderWidth = borderWidth
self.backgroundColor = UIColor.black
self.layer.masksToBounds = true
}
}
Beide Verfahren zu arbeiten, scheiterte jedoch habe ich verschiedene r rgebnisse für sie:
erstes Textfeld verwendet Methode 1, die andere 3 Verwendung Methode 2
ich nur mit der unteren Zeile ein Textfeld will, wie ich das zu tun bekommen?
bearbeiten (hier, wie Steckdosen gesetzt sind):
@IBOutlet weak var firstTextField: UITextField!
@IBOutlet weak var secondTextField: CustomTextField! { didSet { secondTextField.delegate = self } }
@IBOutlet weak var thirdTextField: CustomTextField! { didSet { thirdTextField.delegate = self } }
@IBOutlet weak var fourthTextField: CustomTextField! { didSet { fourthTextField.delegate = self } }
Add 'firstTextField.borderStyle = .none' Methode 1? –
In Methode 2 self.backgroundColor = UIColor.black ist schwarz – user2071152
Yeah schwarzer Hintergrund und weiße Grenze ist was ich will, anders als die ursprüngliche Antwort. –