1

目前我有一个文本字段,它可以拉出一个 NumberPad 键盘进行输入。

我想要 NumberPad 键盘布局,但我需要一个按钮来让那个响应者辞职。

有没有办法对 UITextField 进行编码,使其具有 NumberPad 键盘,并且键盘左侧空白的空间被“完成”、“发送”或“开始”按钮替换。

还是我需要为 UITextField 创建一个自定义 inputView?

我会想,因为 NumberPad 苹果上有一个空白键,它会使它对某些东西有用。

4

3 回答 3

2

只需尝试在其上添加一个UIToolBar带有完成按钮inputAccessoryView的文本字段。在按钮单击事件中提供关闭键盘的代码。认为这应该适合你。

或者,如果您想在键盘上绘制自定义按钮,您可以在此处搜索以获取解决方案

于 2011-12-01T06:24:13.307 回答
1

如果您使用 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];
}
于 2012-07-08T09:44:40.993 回答
0

您现在需要做一个自定义 inputview 并将其分配给您的文本字段的 inputview 属性。我目前正在研究它,但这是正确的、被认可的方法。不过,仅更改一个按钮似乎有点过头了。

于 2010-07-17T15:08:17.353 回答