Iphone 未调用UITextViewDelegate方法(UITableViewCell中的UITextView)
我一定是做错了什么,UITextViewDelegate的实现方法没有启动。我有一个UITextView,它是UITableCellView的子视图,没有调用委托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
- (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;