无法在textview中键入文本

时间:2012-07-05 05:24:06

标签: iphone objective-c ios uitextview

我有一个可编辑的textview来输入一些描述。当我点击文本视图时,键盘出现。我的问题是,当我尝试通过键盘输入一些文本时,它不会进入textview。请提前帮助我。

3 个答案:

答案 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;

然后您可以使用设备或模拟器键盘输入文本。它将完美地工作。