Следующий код работал для меня
Поле ввода с событием «onkeypress» следующим образом
<input type="text" onkeypress="return isNumberKey(this,event);" />
Функция «isNumberKey» выглядит следующим образом
function isNumberKey(txt, evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode == 46) {
//Check if the text already contains the . character
if (txt.value.indexOf('.') === -1) {
return true;
} else {
return false;
}
} else {
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
}
return true;
}
Сначала сделайте свой файл делегатом для UITextField
@interface MYLoginViewController () <UITextFieldDelegate>
@end
Затем добавьте этот метод в свой код.
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
Также добавьте self.textField.delegate = self;
Если Вы хотите скрыть клавиатуру для конкретного использования клавиатуры [self.view resignFirstResponder];
, Если Вы хотите скрыть какую-либо клавиатуру от использования представления [self.view endEditing:true];
установите делегата UITextField
и замените метод textFieldShouldReturn
, в этом методе просто напишите следующие две строки:
[textField resignFirstResponder];
return YES;
это все. Перед написанием кода не забудьте установить делегат UITextField
и установить для типа клавиши возврата значение «Готово» в окне свойств (команда + сдвиг + I).