Как включить кнопку возврата в UIKeyboardTypeDecimalPad?

Я реализовал UITextField, который должен позволять пользователю включать только десятичные числа. Я изменил тип клавиатуры на UIKeyboardTypeDecimalPad, но на этой раскладке клавиатуры нет кнопки возврата, чтобы выйти из текстового поля. Я не хочу добавлять дополнительные элементы управления на клавиатуру, так как это выглядит грязно. Как поменять кнопку dot на возврат и изменить ее функционал или есть другая альтернатива?


person Khawar Ali    schedule 21.03.2013    source источник
comment
Изменение реализации встроенной клавиатуры по умолчанию настолько запутанно, насколько это возможно. Я бы предложил следовать соглашению и разрешить касание за пределами клавиатуры, чтобы закрыть его, или добавить настройку кнопки «Следующая/предыдущая» над клавиатурой.   -  person Ryan Poolos    schedule 21.03.2013
comment
При этом, если вам нужен ключ возврата. Вам нужно реализовать клавиатуру UIKeyboardTypeNumbersAndPunctuation.   -  person Ryan Poolos    schedule 21.03.2013
comment
Эта ссылка может быть полезна для решения вашей проблемы. [1]: stackoverflow.com/questions/6350484/   -  person Jay Mehta    schedule 22.03.2013


Ответы (1)


По умолчанию клавиша возврата не имеет десятичного типа клавиатуры. Используйте следующий фрагмент кода, чтобы добиться этого:

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 35.0f)];
    toolbar.barStyle=UIBarStyleBlackOpaque;

    // Create a flexible space to align buttons to the right
    UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

    // Create a cancel button to dismiss the keyboard
    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(resetView)];

    // Add buttons to the toolbar
    [toolbar setItems:[NSArray arrayWithObjects:flexibleSpace, barButtonItem, nil]];

    // Set the toolbar as accessory view of an UITextField object
    _yourTextField.inputAccessoryView = toolbar;

Надеюсь это поможет. Удачного кодирования !!

person Sourabh Bhardwaj    schedule 19.10.2013