UItextView委托swift - textViewDidBeginEditing不叫
问题描述:
我已经看到其他主题与UITextView
委托处理,但似乎无法找到我的问题来自哪里。 这是我的代码,但是当我修改UITextView
时,没有任何反应,并且textViewDidBeginEditing
未被调用。UItextView委托swift - textViewDidBeginEditing不叫
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")
}
}
我试过用UITextField
,但没有改变,委托函数仍然没有调用。
答
只需将您的textView1.delegate = self
两行下移即可。您正在为UITextField设置代理,但在下一行中您将创建没有任何代理的新对象;)
+0
没有任何改变:/ – VH24
答
请使用此代码尝试
进口的UIKit
类的ViewController:UIViewController中,UITextViewDelegate {
var textView1 = UITextView()
override func viewDidLoad() {
super.viewDidLoad()
textView1 = UITextView(frame: CGRect(x:24,y: 100,width: 340,height: 290))
textView1.delegate = self
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")
}
}
为什么你创建,然后扔掉第一'UITextView'实例? – rmaddy
为什么'textView1'在类之外声明?这不是你应该做的。 – rmaddy