Добавить следующие события:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
И для них прерывания:
- (void)keyboardDidShow:(NSNotification *)note
{
// arrange TextView size
NSDictionary *info = [note userInfo];
NSValue *keyboardFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [keyboardFrame CGRectValue];
CGRect textEditorRect = TextEditorScroll.frame;
int keyboardHeight = (keyboardRect.size.width > keyboardRect.size.height) ? keyboardRect.size.height : keyboardRect.size.width;
textEditorRect.size.height -= keyboardHeight;
[TextEditorScroll setFrame:textEditorRect];
}
- (void)keyboardWillHide:(NSNotification *)note
{
CGRect textEditorRect = TextEditorScroll.frame;
textEditorRect.size.height = [[self view] bounds].size.height - Toolbar.bounds.size.height;
[TextEditorScroll setFrame:textEditorRect];
}