UItextView delegieren swift - textViewDidBeginEditing nicht genannt
Habe ich gesehen, die anderen Themen Umgang mit UITextView
delegieren, aber kann nicht scheinen, um herauszufinden, wo mein Problem herkommt.
Hier ist mein code, aber wenn ich ändern, meine UITextView
nichts passiert und textViewDidBeginEditing
ist nicht genannt.
import UIKit
var textView1 = UITextView()
class ViewController: UIViewController, UITextViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
textView1.delegate = self
textView1 = UITextView(frame: CGRect(x:24,y: 100,width: 340,height: 290))
textView1.textColor = UIColor.black
textView1.backgroundColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.00)
textView1.text = "textView 1"
view.addSubview(textView1)
}
func textViewDidBeginEditing(_ textView: UITextView) {
print("print1")
}
func textViewDidEndEditing(_ textView: UITextView) {
print("print2")
}
}
Habe ich versucht, mit UITextField
, aber nichts änderte sich, delegieren Funktionen noch nicht genannt.
- Warum tun Sie erstellen und dann wegwerfen, das erste
UITextView
Instanz? - Warum ist
textView1
deklariert, die außerhalb der Klasse? Das ist nicht, was Sie tun sollten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Legen Sie einen Wert aus einem null-Objekt, müssen Sie es Initialisieren und dann können Sie das Ziel delegieren.
Bewegen Sie einfach Ihren
textView1.delegate = self
2 Zeilen nach unten. Sie delegieren für die UITextField-aber in der nächsten Zeile, die Sie erstellen neues Objekt ohne jegliche delegieren 😉bitte ändern Sie die position der
textView1.delegate = self
mit der nächsten Zeile.textView1.delegate = self
Linie bewegt werden muss?Bitte versuchen Sie es mit diesem code
import UIKit
class ViewController: UIViewController, UITextViewDelegate {
}