在iOS
中,当点击UITextField
时,系统默认数字键盘会弹出。我已经掌握了自己的控制权。我想在点击UITextField
时调出自己的控件,就像系统默认数字键盘一样。我可以在编程中这样做吗?如果是这样,怎么样?
答案 0 :(得分:2)
您可以按[self.view endEditing:YES];
隐藏键盘并显示您自己的控件。
在UITextField
委托方法下面尝试以上代码行:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // return NO to disallow editing.
- (void)textFieldDidBeginEditing:(UITextField *)textField; // became first responder
答案 1 :(得分:2)
为此目的有一处房产。只需使用您的自定义控件视图分配它:
[yourTextField setInputView:yourCustomControlsView];
答案 2 :(得分:0)
使用自定义视图和自定义按钮。键盘本身很容易做,你只需要在视图上放置一些按钮然后显示该视图。您真正的问题是将按钮操作连接到文本字段。
您必须检查第一个响应者,然后将与自定义键盘对应的值添加到其文本中。在文本字段中从键盘实际“键入”那些奇怪的字符将是一个更加困难的问题。我不熟悉它们,是那些真正的ASCII字符吗?
无论如何,你在做一些工作。编码并不是很困难,需要一些复杂的算法,但实现起来会很复杂,所以要小心
答案 3 :(得分:0)
尝试以下代码。确保将代理人分配到UITextField
。
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField resignFirstResponder];
CustomNumberPadViewController *customNumberPadViewController = [[CustomNumberPadViewController alloc] initWithNibName:@"CustomNumberPadView" bundle:nil];
[self presentViewController:CustomNumberPadViewController animated:YES completion:nil];
}