目前我有一个文本字段,它可以拉出一个 NumberPad 键盘进行输入。
我想要 NumberPad 键盘布局,但我需要一个按钮来让那个响应者辞职。
有没有办法对 UITextField 进行编码,使其具有 NumberPad 键盘,并且键盘左侧空白的空间被“完成”、“发送”或“开始”按钮替换。
还是我需要为 UITextField 创建一个自定义 inputView?
我会想,因为 NumberPad 苹果上有一个空白键,它会使它对某些东西有用。
目前我有一个文本字段,它可以拉出一个 NumberPad 键盘进行输入。
我想要 NumberPad 键盘布局,但我需要一个按钮来让那个响应者辞职。
有没有办法对 UITextField 进行编码,使其具有 NumberPad 键盘,并且键盘左侧空白的空间被“完成”、“发送”或“开始”按钮替换。
还是我需要为 UITextField 创建一个自定义 inputView?
我会想,因为 NumberPad 苹果上有一个空白键,它会使它对某些东西有用。
只需尝试在其上添加一个UIToolBar
带有完成按钮inputAccessoryView
的文本字段。在按钮单击事件中提供关闭键盘的代码。认为这应该适合你。
或者,如果您想在键盘上绘制自定义按钮,您可以在此处搜索以获取解决方案
如果您使用 phonePad,则需要空按钮。但是您可以添加inputAccessoryView
“应用”和“取消”按钮,然后关闭数字键盘。
- (void)viewDidLoad
{
[super viewDidLoad];
UIToolbar* numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
numberToolbar.barStyle = UIBarStyleBlackTranslucent;
numberToolbar.items = [NSArray arrayWithObjects:
[[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelNumberPad)],
[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc]initWithTitle:@"Apply" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithNumberPad)],
nil];
[numberToolbar sizeToFit];
numberTextField.inputAccessoryView = numberToolbar;
}
-(void)cancelNumberPad{
[numberTextField resignFirstResponder];
numberTextField.text = @"";
}
-(void)doneWithNumberPad{
NSString *numberFromTheKeyboard = numberTextField.text;
[numberTextField resignFirstResponder];
}
您现在需要做一个自定义 inputview 并将其分配给您的文本字段的 inputview 属性。我目前正在研究它,但这是正确的、被认可的方法。不过,仅更改一个按钮似乎有点过头了。