2017-10-08 7 views
0

私のTextContviewをViewControllerで編集しているときに私のtextViewDidBeginEditing関数を呼び出せないようです。ここでUITextViewがカスタムセルで編集されたときにtextViewDidBeginEditingを呼び出す

は私のカスタムセルのためのコードです:ここで

class NoteDetailCell: UITableViewCell { 
    let noteText: UITextView = { 
     let label = UITextView() 
     label.font = UIFont(name: "Nunito",size: 16) 
     label.backgroundColor = UIColor(r: 244, g: 244, b: 255) 
     label.text = "Have to check out this food place. The best burgers in town." 
     label.textColor = UIColor(r: 88, g: 88, b: 88) 
     label.translatesAutoresizingMaskIntoConstraints = false 
     return label 
    }() 

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) { 
     super.init(style: .`default`, reuseIdentifier: reuseIdentifier) 

     self.selectionStyle = UITableViewCellSelectionStyle.none 

     addSubview(noteText) 

     noteText.topAnchor.constraint(equalTo: self.topAnchor, constant: 10).isActive = true 
     noteText.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 8).isActive = true 
     noteText.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -8).isActive = true 
    } 
} 

は私のテーブルビューのために私のコードです:

class TripNoteViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UITextViewDelegate { 
    var noteDetails: UITableView = UITableView() 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     noteDetails.frame = CGRect(x: 0, y: 65, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height-140) 

     noteDetails.delegate = self 
     noteDetails.dataSource = self 
     noteDetails.separatorColor = UIColor.clear 
     noteDetails.register(NoteDetailCell.self, forCellReuseIdentifier: "detailsCell") 
     noteDetails.register(NoteOriginCell.self, forCellReuseIdentifier: "visitTrip") 
     noteDetails.register(NoteActionsCell.self, forCellReuseIdentifier: "noteActions") 

    } 

    func textViewDidBeginEditing(noteText: UITextView) { 
     print("noteText text") 
    } 

    func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
    } 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 3 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: detailsCell) as! NoteDetailCell 
     cell.noteText.isScrollEnabled = false 
     cell.noteText.delegate = self 
     return cell 
    } 
} 

私はときに私のカスタムでテキストフィールドの私のViewControllerからtextViewDidBeginEditing関数を呼び出すしたいと思いますセルが編集中です。私が間違っていることに関する提案はありますか?

答えて

0

UITextViewDelegateプロトコルで定義されているメソッドを実装していません。変更:

func textViewDidBeginEditing(noteText: UITextView) { 
    print("noteText text") 
} 

へ:

func textViewDidBeginEditing(_ noteText: UITextView) { 
    print("noteText text") 
} 

間違った署名を持っているので、それが呼び出されていません。

関連する問題