iPhone SDK NumberPad пользовательский вводПросмотр готовой кнопки - PullRequest
1 голос
/ 05 июня 2010

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

Я хочу раскладку клавиатуры NumberPad, но мне нужна кнопка для отставки этого ответчика.

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

Илинужно создать пользовательский входной вид для UITextField?

Я бы подумал, так как пустой ключ на яблоке NumberPad сделал бы его полезным для чего-то.

Ответы [ 3 ]

2 голосов
/ 01 декабря 2011

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

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

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

Пустая кнопка необходима, если вы используете 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];
}
0 голосов
/ 17 июля 2010

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

...