我必须做一些根本错误的事情,我的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, ..., ....>
谢谢!
答案 0 :(得分:28)
你应该在xib文件中添加 textViewObj.delegate = self 或为该文本视图属性提供委托连接,然后它应该工作并触发UITextView的所有委托方法。
答案 1 :(得分:4)
根据我的经验,对此提出了几点建议:
1)检查您是使用UITextField还是UITextView。
2)根据您使用的文本字段类型,将以下声明添加到您的接口声明
$("a[rel^='prettyPhoto']").prettyPhoto({
overlay_gallery: false,
show_title: false,
hideflash: true,
social_tools: "",
iframe_markup: "<iframe src='{path}' width='{width}' height='{height}' frameborder='no' allowfullscreen='true'></iframe>",
deeplinking: false
});
.....
<a href="https://www.youtube.com/watch?v=Vh0mGLpbIvI" rel="prettyPhoto"><img src="http://img.youtube.com/vi/Vh0mGLpbIvI/default.jpg"></a>
3)将您的控制器注册为文本字段的代表:
@interface MyInterface : UIViewController<UITextFieldDelegate>
or
@interface MyInterface : UIViewController<UITextViewDelegate>
4)覆盖
所需的方法[myTextField setDelegate:self];
就我而言。