iOS заставляет приложение использовать пользовательскую клавиатуру

Я работаю над приложением, в котором есть одно text-field, которое должно принимать только numbers, поэтому я создал одно custom keyboard, которое имеет только [0-9] в качестве входных данных для принятия. клавиатура из приложения.

Возможно ли заставить пользователя открывать только custom keyboard, не заходя в настройки. Я хочу, чтобы каждый раз, когда пользователь открывает приложение... должно открываться только custom keyboard, а не другое


person user3226440    schedule 17.07.2014    source источник
comment
Почему бы не сделать его числовым по умолчанию? UITextField *numericTextField = [[UITextField alloc] initWithFrame:CGRectMake(100, 10, 185, 30)]; numericTextField.adjustsFontSizeToFitWidth = YES; numericTextField.keyboardType = UIKeyboardTypeNumberPad; [parentView addSubview:numericTextField];   -  person Akaino    schedule 17.07.2014
comment
Почему бы вам не установить _textField.keyboardType = UIKeyboardTypeNumberPad для этого текстового поля, клавиатура показывает только цифровую клавиатуру   -  person Shankar BS    schedule 17.07.2014
comment
@Shan Я хочу установить пользовательскую клавиатуру для iOS8, а не клавиатуру Apple по умолчанию.   -  person user3226440    schedule 17.07.2014
comment
@user3226440: Мы пытаемся спросить: есть ли какая-то конкретная причина, по которой вы хотите заново изобрести колесо? Цифровая клавиатура уже есть, так зачем вы хотите реализовать свою?   -  person DarkDust    schedule 17.07.2014


Ответы (2)


Просто сделайте его числовым по умолчанию. Вы также можете сделать это из конструктора интерфейсов.

UITextField *numericTextField = [[UITextField alloc] initWithFrame:CGRectMake(100, 10, 185, 30)]; 
numericTextField.adjustsFontSizeToFitWidth = YES; 
numericTextField.keyboardType = UIKeyboardTypeNumberPad; 
[parentView addSubview:numericTextField]; 

Источник: Как программно переключать раскладки клавиатуры на iPad ?

РЕДАКТИРОВАТЬ: Или вы можете использовать NSNotificationCenter, чтобы сообщить вам, вызвана ли клавиатура, и вместо этого просто вызвать свою собственную:

Попробуйте что-то вроде этого, сам не пробовал:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showKeyboard:) name:UIKeyboardWillShowNotification object:nil];
person Akaino    schedule 17.07.2014
comment
Привет. Я хочу установить пользовательскую клавиатуру, которую я создал для iOS8. не клавиатура Apple по умолчанию .. - person user3226440; 17.07.2014

Привет, вы можете использовать этот код, просто просмотрите свою пользовательскую клавиатуру и добавьте эту строку, чтобы показать свою клавиатуру вместо клавиатуры по умолчанию.

numericTextField.inputView = your_keyboardView;//here your_keyboardView is the object of the custom keyboard view. 

UITextField *numericTextField = [[UITextField alloc] initWithFrame:CGRectMake(100, 10, 185, 30)]; numericTextField.adjustsFontSizeToFitWidth = YES; numericTextField.inputView = yuor_keyboardView; [parentView addSubview:numericTextField];

Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать.

person Nitin    schedule 17.07.2014