0

我在一个视图中有十个文本字段。在那我需要 2 个文本字段用于电话和邮政编码。所以我想在点击电话和压缩文本字段时显示一个数字键盘。

我使用以下链接创建了一个自定义完成按钮。如果我只有一个文本字段,此代码很有用,它会因多个文本字段而失败。有人解决了这个问题吗?

4

2 回答 2

1

这是适合您的解决方案(如果屏幕上还有其他非数字键盘文本字段,则完美。)

输入附件视图

- (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:31:06.027 回答
0

在 Interface Builder 中,只需单击每个文本字段,然后在属性窗格中查看 Text Traits 下。在键盘下,您可以将其自定义为单击文本字段时需要显示的任何类型的键盘。

于 2011-04-26T12:11:15.220 回答