Пользовательский интерфейс ввода-вывода NumberPad для iPhone SDK для кнопки «Готово»

В настоящее время у меня есть текстовое поле, которое открывает для ввода клавиатуру NumberPad.

Мне нужна раскладка клавиатуры NumberPad, но мне нужна кнопка, чтобы уволить этого респондента.

Есть ли способ закодировать UITextField так, чтобы у него была клавиатура NumberPad, а пустое пространство слева от клавиатуры заменялось кнопкой «Готово», «Отправить» или «Перейти».

Или мне нужно создать настраиваемый inputView для UITextField?

Я бы подумал, раз уж на яблоке NumberPad есть пустая клавиша, он для чего-нибудь пригодился бы.


person OscarTheGrouch    schedule 05.06.2010    source источник


Ответы (3)


Просто попробуйте использовать UIToolBar с кнопкой "Готово" в качестве inputAccessoryView текстового поля. В событии нажатия кнопки укажите код для отключения клавиатуры. Думаю, это должно вам подойти.

Или, если вы хотите, чтобы пользовательская кнопка была нарисована на клавиатуре, вы можете выполнить поиск здесь, чтобы получить решение.

person visakh7    schedule 01.12.2011

Пустая кнопка нужна, если вы используете phonePad. Но вы можете добавить inputAccessoryView с помощью кнопок «Применить» и «Отмена», а затем закрыть цифровую клавиатуру.

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];
}
person Luda    schedule 08.07.2012

Теперь вам нужно сделать настраиваемый inputview и назначить его свойству inputview вашего текстового поля. В настоящее время я изучаю это, но это правильный, одобренный способ сделать это. Однако это кажется излишним для изменения одной кнопки.

person Julian    schedule 17.07.2010
comment
neoos.ch/news/46- development / обновил контент для iOS4.0 - person OscarTheGrouch; 19.07.2010