触摸只读UITextView时,关闭iPhone数字键盘

时间:2013-01-24 15:53:10

标签: iphone ios xcode uitextview

在我的简单iPhone应用程序中,我有一个用于输入文本的UITextField和用于结果的UITextView。 UITextField使用数字键盘,因为只允许数字。 UITextView是只读的,但启用了用户交互。这样做的原因是我希望用户能够进行复制和粘贴,但不能更改结果。众所周知,数字键盘没有“开始”按钮。所以我做resignFirstResponder() in touchesBegan只要我触摸文本视图区域外它就可以工作。即使触摸UITextView内部,如何解除键盘(数字键盘)?

1 个答案:

答案 0 :(得分:0)

您可以为UITextView添加手势识别器。未经测试的代码:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[self.textView addGestureRecognizer:tap];
[tap release]; // not necessary or allowed under ARC

然后是处理程序:

- (void)handleTap:(UITapGestureRecognizer *)tap
{
    // resign first responder and whatever else you need to do
}

您可能需要在不需要时禁用手势识别器,以防它干扰只读UITextView中的文本选择。