Tod*_*ddB 11 iphone uitextview uitextviewdelegate ios
我必须做一些根本错误的事情,我的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...
}
Run Code Online (Sandbox Code Playgroud)
建议?我不知道它是否重要,但协议在我的@interface声明中明确命名.
@interface DetailViewController () <UITextViewDelgate, ..., ....>
Run Code Online (Sandbox Code Playgroud)
谢谢!
小智 5
根据我的经验,对此有几点建议:
1) 检查您使用的是 UITextField 还是 UITextView。
2)根据您使用的文本字段的类型,将以下声明添加到您的接口声明中
@interface MyInterface : UIViewController<UITextFieldDelegate>
or
@interface MyInterface : UIViewController<UITextViewDelegate>
Run Code Online (Sandbox Code Playgroud)
3)将您的控制器注册为您的文本字段的代表:
[myTextField setDelegate:self];
Run Code Online (Sandbox Code Playgroud)
4)覆盖所需的方法
-(void)textFieldDidBeginEditing:(UITextField *)textField
or
- (void)textViewDidBeginEditing:(UITextView *)textView;
Run Code Online (Sandbox Code Playgroud)
就我而言。
| 归档时间: |
|
| 查看次数: |
13973 次 |
| 最近记录: |