2010-06-05 2 views
1

В настоящее время у меня есть текстовое поле, которое вытягивает клавиатуру NumberPad для ввода.iPhone SDK NumberPad custom inputView для кнопки done

Я хочу раскладку клавиатуры NumPad, но мне нужна кнопка, чтобы уйти в отставку.

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

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

Я бы подумал, что с помощью пустого ключа на ядре NumPad было бы полезно что-то сделать.

+0

[Дублированный вопрос, пожалуйста, здесь смотрите] (http://stackoverflow.com/questions/584538/how-to-show-button-done-on-number-pad-on -iphone) [Вот ссылка на способ создания такой кнопки] (http://www.neoos.ch/news/46-development/54-uikeyboardtypenumberpad-and-the-missing-return-key) – vodkhang

ответ

0

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

+1

http : //www.neoos.ch/news/46-development/54-uikeyboardtypenumberpad-and-the-missing-return-key обновил контент для iOS4.0 – OscarTheGrouch

2

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

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

2

Кнопка пустой необходима, если вы используете 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]; 
} 
Смежные вопросы