目前我有一个文本字段,它会拉出一个数字键盘输入。
我想要NumberPad键盘布局,但我需要一个按钮来重新响应该响应者。
有没有办法对UITextField进行编码,使其具有数字键盘键盘,键盘左侧的空格将替换为“完成”,“发送”或“转到”按钮。
或者我是否需要为UITextField创建自定义inputView?
我会想到,因为NumberPad苹果上有一个空白键会使它对某些东西有用。
答案 0 :(得分:2)
尝试使用带有完成按钮的UIToolBar
作为文本字段的inputAccessoryView
。在按钮单击事件中提供解除键盘的代码。认为这应该适合你。
或者,如果您想在键盘上绘制自定义按钮,可以在此处搜索以获得解决方案
答案 1 :(得分:2)
如果使用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];
}
答案 2 :(得分:0)
您需要立即执行自定义输入视图并将其分配给文本字段的inputview属性。我目前正在研究它,但这是正确的,经过批准的方式。虽然改变一个按钮似乎有点过分。