Iphone 未调用UITextViewDelegate方法(UITableViewCell中的UITextView)

Iphone 未调用UITextViewDelegate方法(UITableViewCell中的UITextView),iphone,ios,uitextview,uitextviewdelegate,Iphone,Ios,Uitextview,Uitextviewdelegate,我一定是做错了什么,UITextViewDelegate的实现方法没有启动。我有一个UITextView,它是UITableCellView的子视图,没有调用委托 - (void)textViewDidBeginEditing:(UITextView *)textView { NSLog(@"textViewDidBeginEditing"); // never called... } - (BOOL)textView:(UITextView *)textView shoul

我一定是做错了什么,UITextViewDelegate的实现方法没有启动。我有一个UITextView,它是UITableCellView的子视图,没有调用委托

- (void)textViewDidBeginEditing:(UITextView *)textView {

    NSLog(@"textViewDidBeginEditing");
    // never called...
}

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

    NSLog(@"shouldChangeTextInRange");  
    // never called... 
}
建议?我不知道这是否重要,但协议是在我的@interface声明中显式命名的

@interface DetailViewController () <UITextViewDelgate, ..., ....>
@接口详细信息视图控制器()

谢谢

您应该添加textViewObj.delegate=self或在xib文件中为该文本视图属性提供委托连接,然后它应该工作并启动UITextView的所有委托方法。

根据我的经验,在此基础上有两个指针:

1) 检查您使用的是UITextField还是UITextView

2) 根据您使用的文本字段类型,将以下声明添加到接口声明中

@interface MyInterface : UIViewController<UITextFieldDelegate>
                      or
@interface MyInterface : UIViewController<UITextViewDelegate>
4) 重写正在执行的所需方法

 -(void)textFieldDidBeginEditing:(UITextField *)textField
              or
 - (void)textViewDidBeginEditing:(UITextView *)textView;

在我的例子中。

您是否确实将视图控制器设置为文本视图的代理?类似于
myTextView.delegate=myDetailViewController
…我实际上没有将我的视图控制器设置为代理!谢谢大家!@ToddB:在viewdidload[noteTxtView.delegate self]中添加以下代码;太神了我忘了设置代理。非常感谢。老兄,你救了我的命!!我一直在竭尽全力想让这个代表下台。然后我读了你上面的评论。事实证明,当您追踪一个bug几个小时后,UITextField和UITextView看起来非常相似。
 -(void)textFieldDidBeginEditing:(UITextField *)textField
              or
 - (void)textViewDidBeginEditing:(UITextView *)textView;