Пользовательская кнопка для цифровых панелей для большего количества текстовых полей в iPhone - PullRequest
0 голосов
/ 10 января 2011

У меня есть десять текстовых полей в представлении. В этом мне нужно 2 текстовых поля для телефона и почтовый индекс. Поэтому я хочу отображать цифровую клавиатуру при нажатии на телефон и почтовое текстовое поле.

Я создал пользовательскую кнопку «Готово», используя следующую ссылку . Этот код полезен, если у меня есть только одно текстовое поле, оно не работает с несколькими текстовыми полями. Кто-нибудь решил эту проблему?

Ответы [ 2 ]

2 голосов
/ 08 июля 2012

Вот решение для вас (Идеально, если на экране есть другие текстовые поля без цифровой клавиатуры).

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];
}
0 голосов
/ 26 апреля 2011

В Интерфейсном Разработчике просто нажмите на каждое текстовое поле и в области атрибутов посмотрите под Текстовыми чертами. В разделе «Клавиатура» вы можете настроить тот тип клавиатуры, который вам нужен при нажатии на текстовое поле.

...