Ich möchte eine Animation für mein UItextfeld erstellen. Dazu habe ich eine Unterklasse von UITextField und ich meinen Code dort gespeichert:Swift Animate Textfield
import Foundation
import UIKit
class textfieldEdit: UITextField, UITextFieldDelegate {
let border = CALayer()
let width = CGFloat(2.0)
required init?(coder aDecoder: (NSCoder!)) {
super.init(coder: aDecoder)
self.delegate=self;
border.borderColor = UIColor(red: 216/255, green: 216/255, blue: 216/255, alpha: 100).cgColor
border.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: self.frame.size.height)
border.borderWidth = width
self.layer.addSublayer(border)
self.layer.masksToBounds = true
}
override func draw(_ rect: CGRect) {
border.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: self.frame.size.height)
}
override func awakeFromNib() {
super.awakeFromNib()
border.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: self.frame.size.height)
}
}
Wenn jedoch jemand in das Textfeld klickt, möchte ich die Grenze des Textfeld aktualisieren und grün machen. Gibt es einen effizienten Weg, dies zu tun? Ich habe versucht, eine Funktion zuzuweisen, wenn jemand in der Textbox in meinem Hauptansicht-Controller berührt, aber es scheint nicht zu funktionieren.
Gibt es eine bessere Methode als Berührungen aktiviert? Ich würde lieber verwenden, während der Benutzer das Textfeld eingibt, weil ich nicht möchte, dass die Animation nach einer Berührung weggeht – codeislife
Ah, ich sehe, was Sie jetzt tun möchten. Sie sollten sich den Responder "ansehen". Also, wenn dieses Feld "WIRD ERSTER ANTWORTER ERFORDERT", dann wollen Sie die neue Farbe einstellen. Dann, wenn es "RESIGNING SEIN FIRST RESPONDER" ist, kannst du es auf die alte Farbe zurücksetzen. Das ist, was Sie suchen, aber das hat nichts mit Berührungen zu tun. https://stackoverflow.com/questions/7022180/how-to-know-when-uitextview-became-first-responder – Pochi
Implementieren Sie einfach den Delegaten mit den 2 Methoden, die ich am Ende meiner Beschreibung hinzugefügt. @ Codeslife – Pochi