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