0

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

4

1 回答 1

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.

于 2013-01-24T16:31:06.310 回答