1

由于 iOS 中提供的数字键盘或电话键盘都不包含返回键(下一步或完成),如何检测可变长度数字条目的条目结束?

使用全字母键盘是一种可能,因为它包括数字键集。但这意味着向用户展示了必须编辑掉的其他可能性。

另一种可能性是要求在另一个数据输入字段中进行选择。如果只捕获一个数字字段,这似乎不直观,也不可能!

有解决办法吗?

4

3 回答 3

2

一种快速的方法是简单地将 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

于 2013-06-30T02:34:10.527 回答
1

如果您输入到UITextField我已经成功添加UITextFieldDelegate到我的 viewcontroller 的头文件中,然后在我的 viewcontroller.m 中使用它

 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
 [self.view endEditing:YES];
}
于 2013-06-30T02:47:56.833 回答
1

是的,您可以使用 UITapRecognizer 检测点击,并在使用点击某个视图时关闭键盘

[UITextField resignFirstResponder];
于 2013-06-30T02:28:50.300 回答