我有一个可编辑的textview来输入一些描述。当我点击文本视图时,键盘出现。我的问题是,当我尝试通过键盘输入一些文本时,它不会进入textview。请提前帮助我。
答案 0 :(得分:5)
你不应该在...中返回NO。
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
否则它将不允许您添加文本。
编辑:
来自TextView
参考:
textView:shouldChangeTextInRange:replacementText:询问委托 是否应在文本视图中替换指定的文本。
(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)文字
参数:
textView:包含更改的文本视图。
范围:当前选择范围。如果范围的长度为0,则范围 反映当前的插入点。如果用户按下删除 key,范围的长度为1,空字符串对象替换 那个单一的角色。
text:要插入的文本。
返回值:如果是,则为YES 旧文本应替换为新文本;没有,如果更换 操作应该中止。
答案 1 :(得分:2)
您必须在此委托方法中返回YES,否则在您作为委托的字段中不允许任何文本,如下所示:
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[m_CtrlTxtViewDescription resignFirstResponder];
[self setViewMovedUp:NO];
return NO;
}
return YES;
}
shouldChangeTextInRange...
,顾名思义,是文本视图通过键盘添加文本时调用的方法。询问代表是否应添加文本。
答案 2 :(得分:0)
呀。它也发生在我身上。但不用担心我们无法通过我的电脑的键盘输入文本中的文字,但是当你宣布时。
self.yourtextview.userInteractionenabled = YES;
self.yourtextview.editable = Yes;
然后您可以使用设备或模拟器键盘输入文本。它将完美地工作。