UItextView委托swift - textViewDidBeginEditing未调用

时间:2017-06-01 14:14:44

标签: ios swift uikit uitextview

我已经看过其他涉及UITextView委托的主题,但似乎无法找到我的问题来自哪里。 这是我的代码,但是当我修改UITextView时,没有任何反应,并且未调用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,但没有任何改变,代理功能仍未调用。

4 个答案:

答案 0 :(得分:2)

只需将textView1.delegate = self 2行移开即可。您正在为UITextField设置委托,但在下一行中您正在创建没有任何委托的新对象;)

答案 1 :(得分:1)

您正在设置nil对象的值,您必须初始化它,然后您可以设置目标委托。

答案 2 :(得分:1)

enter image description here

请更改textView1.delegate = self与下一行的位置。

答案 3 :(得分:0)

请尝试使用此代码

导入UIKit

类ViewController:UIViewController,UITextViewDelegate {

boom

}