UITextView 委托 shouldChangeTextInRange (或任何以上)不会被调用

Posted

技术标签:

【中文标题】UITextView 委托 shouldChangeTextInRange (或任何以上)不会被调用【英文标题】:UITextView Delegate shouldChangeTextInRange (or any over) doesn't get called 【发布时间】:2010-05-25 06:23:27 【问题描述】:

我需要跟踪我的 UITextView 方法中的更改(实际上是为了限制行数),但是在 UITextView 中开始编辑时没有调用任何 UITextViewDelegate 方法。甚至没有- (void)textViewDidChange:(UITextView *)textView;

我不知道我做错了什么

我像这样在头文件中添加了 UITextViewDelegate 方法:

@interface PirmasViewController : UIViewController <UITextViewDelegate, MFMa......

我在我的实现文件中放置了任何跟踪更改的方法:

- (void)textViewDidChange:(UITextView *)textViewNSLog(@"something changed");

- (BOOL)textView:(UITextView *)aTextView shouldChangeTextInRange:(NSRange)aRange replacementText:(NSString*)aText NSLog(@"something changed"); return YES; `

但没有结果。

【问题讨论】:

【参考方案1】:

我少了一行代码:

UITextViewFieldName.delegate = self;

【讨论】:

以上是关于UITextView 委托 shouldChangeTextInRange (或任何以上)不会被调用的主要内容,如果未能解决你的问题,请参考以下文章

UITextView 的自定义委托

iphone设置UITextView委托打破自动完成

UItextView 委托 swift - textViewDidBeginEditing 未调用

iOS UITextView 委托

UITextView 委托未获得所有方法调用

PopoverPresentationController 内部的 UITextView 不响应其委托方法