由于 iOS 中提供的数字键盘或电话键盘都不包含返回键(下一步或完成),如何检测可变长度数字条目的条目结束?
使用全字母键盘是一种可能,因为它包括数字键集。但这意味着向用户展示了必须编辑掉的其他可能性。
另一种可能性是要求在另一个数据输入字段中进行选择。如果只捕获一个数字字段,这似乎不直观,也不可能!
有解决办法吗?
由于 iOS 中提供的数字键盘或电话键盘都不包含返回键(下一步或完成),如何检测可变长度数字条目的条目结束?
使用全字母键盘是一种可能,因为它包括数字键集。但这意味着向用户展示了必须编辑掉的其他可能性。
另一种可能性是要求在另一个数据输入字段中进行选择。如果只捕获一个数字字段,这似乎不直观,也不可能!
有解决办法吗?
一种快速的方法是简单地将 UITapGestureRecognizer 添加到键盘后面的视图中,这样可以在点击时关闭键盘
// UITapGestureRecognizer property
@property (strong, nonatomic) UITapGestureRecognizer *singleTap;
// Add gesture recognizer to remove keyboard
_singleTap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];
_singleTap.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:_singleTap];
// Method to remove keyboard
- (void)dismissKeyboard
{
[self.view endEditing:YES];
}
另一种方法是向数字键盘本身或通过 inputAccessoryView 添加一个完成按钮,如下所示http://timbroder.com/2012/08/adding-done-and-cancel-buttons-to-an-ios- number-pad.html
如果您输入到UITextField
我已经成功添加UITextFieldDelegate
到我的 viewcontroller 的头文件中,然后在我的 viewcontroller.m 中使用它
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
}
是的,您可以使用 UITapRecognizer 检测点击,并在使用点击某个视图时关闭键盘
[UITextField resignFirstResponder];