UIKeyboardWillShowNotification из пользовательского выпуска класса
У меня есть настроенный UITableViewCell с текстовыми полями. Текстовые поля ячеек установлены для вызова функций делегата. внутри
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillHideNotification
object:nil];
if(textField == fromTF){
fromTF.text = [[[fromTF.text substringToIndex:2] stringByAppendingString:@":"] stringByAppendingString:[fromTF.text substringFromIndex:2]];
[toTF becomeFirstResponder];
return YES;
}
if(textField == toTF){
[toTF resignFirstResponder];
[intTF becomeFirstResponder];
return YES;
}
return YES;
}
Это метод делегата, вызываемый в моей пользовательской ячейке. Однако при вызове объект addobserver UIKeyBoardWillHideNotification не удаляется при нажатии клавиши возврата. Есть ли способ, которым я могу решить это?
2 ответа
Решение
Привет Ганеша спасибо за ответ. Я удалил resignFirstResponder и передал firstResponder непосредственно в следующее текстовое поле. Это предотвратило исчезновение клавиатуры.
Попробуй вот так
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
}
а также проверьте эту ссылку textFieldShouldBeginEditing + UIKeyboardWillShowNotification + OS 3.2
это может помочь вам.