2013-04-14 3 views
1

Я довольно новичок в этом программировании, я делаю приложение в Xcode 4.6 с пользовательской клавиатурой. Я сделал клавиатуру, и она отлично работает, но мне нужно отключить клавиатуру по умолчанию, когда я попал в текстовое поле, как мне это сделать? Как я уже сказал, я новичок в этом, поэтому любая помощь будет отличной.Скрыть клавиатуру по умолчанию

+0

Я недавно реализовал пользовательскую клавиатуру в одном из моих приложений, используя textField.inputView = customKeyBoard. эта строка автоматически скрывает клавиатуру defualt и отображает вашу пользовательскую клавиатуру. – jamil

ответ

1

Итак, у вас есть два варианта.

1-UITextField имеет методы делегата, называемые

-(void)textFieldDidBeginEditing:(UITextField *)textField это метод, когда вы попадаете textField. Поэтому вам нужно скрыть клавиатуру по умолчанию.

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
     [self.yourTextField resignFirstResponder]; 
} 

2- Существует уведомление называется UIKeyboardWillShowNotification, который сразу же отправил на дисплей клавиатуры. Итак, вы можете использовать NSNotificationCenter, чтобы выполнять свою работу, когда получили уведомление. Таким образом, в вашем viewDidLoad метод:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 
} 

затем реализовать селектор.

-(void)keyboardWillShow:(id)sender 
{ 
    [self.yourTextField resignFirstResponder]; 
} 

Я тестировал их оба, я думаю, что они работают хорошо.

Я надеюсь, что это поможет.

+0

Спасибо всем за ваш ответ, где я помещаю этот код, - (void) textFieldDidBeginEditing: (UITextField *) textField { [self.yourTextField resignFirstResponder]; } Мне жаль, что я так зеленый. – Sleeperinn

+0

вам нужно указать это, когда вы объявите свое текстовое поле. Не забудьте установить делегат UITextField. – limon

+0

Большое спасибо mstfbsnli, это работает хорошо :) – Sleeperinn

1

Вы просто хотите скрыть клавиатуру или хотите показать свою собственную клавиатуру? Чтобы показать свою пользовательскую клавиатуру, а не по умолчанию, используйте свойство текстового поля inputView и установите для нее клавиатуру. textField.inputView = customKeyBoard.

Смежные вопросы