触摸只读 UITextView 时关闭 iPhone 数字键盘
Posted
技术标签:
【中文标题】触摸只读 UITextView 时关闭 iPhone 数字键盘【英文标题】:Dismiss iPhone number pad when a read only UITextView is touched 【发布时间】:2013-01-24 15:53:09 【问题描述】:在我的简单 iPhone 应用程序中,我有一个用于输入文本的 UITextField 和一个用于结果的 UITextView。 UITextField 使用数字键盘,因为只允许使用数字。 UITextView 是只读的,但启用了用户交互。这样做的原因是我希望用户能够进行复制和粘贴但不更改结果。众所周知,数字键盘没有“开始”按钮。所以我做了resignFirstResponder() in touchesBegan
,只要我在文本视图区域之外触摸它就可以工作。即使触摸 UITextView 的内部,如何关闭键盘(数字键盘)?
【问题讨论】:
附注 - 一些用户可能使用外部键盘,因此请确保您正确验证用户在文本字段中的输入,因为这些用户将能够输入字母和其他符号。 我想这可能就是你要找的东西***.com/questions/8782664/… 【参考方案1】:您可以向 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
中的文本选择。
【讨论】:
以上是关于触摸只读 UITextView 时关闭 iPhone 数字键盘的主要内容,如果未能解决你的问题,请参考以下文章