Я пытаюсь переместить мой просмотр вверх, когда клавиатура появляется, а затем снова исчезает. В первый раз, когда появляется клавиатура, она работает по назначению. Когда я нажимаю «Готово», клавиатура исчезает и вид перемещается назад. Однако после этого первоначального редактирования щелчок на текстовом файле ничего не делает. Клавиатура вообще не появляется.UITextField: клавиатура не появляется после первого редактирования
В viewDidLoad
методе я написал:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil];
и реализованы следующие делегаты:
- (void)keyboardDidShow:(NSNotification *)notification
{
//Assign new frame to your view
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
NSDictionary* info = [notification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
[self.view setFrame:CGRectMake(0,-kbSize.height,320,460)];
[UIView commitAnimations];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField {
[self.view endEditing:YES];
return NO;
}
-(void)keyboardDidHide:(NSNotification *)notification
{ [UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
[self.view setFrame:CGRectMake(0,0,320,460)];
[UIView commitAnimations];
}