1 - (void)keyboardWillShow:(NSNotification *)notification {
2 NSDictionary *userInfo = [notification userInfo];
3 NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
4 CGRect keyboardRect = [aValue CGRectValue];
5 keyboardRect = [self.view convertRect:keyboardRect fromView:nil];
6
7 CGFloat keyboardTop = keyboardRect.origin.y;
8 CGRect newTextViewFrame = self.view.bounds;
9 newTextViewFrame.size.height = keyboardTop - self.view.bounds.origin.y;
10
11 NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
12 NSTimeInterval animationDuration;
13 [animationDurationValue getValue:&animationDuration];
14
15 [UIView beginAnimations:nil context:NULL];
16 [UIView setAnimationDuration:animationDuration];
17
18 self.myTableView.frame = newTextViewFrame;
19
20 [UIView commitAnimations];
21 }
22
23
24 - (void)keyboardWillHide:(NSNotification *)notification {
25
26 NSDictionary* userInfo = [notification userInfo];
27 NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
28 NSTimeInterval animationDuration;
29 [animationDurationValue getValue:&animationDuration];
30
31 [UIView beginAnimations:nil context:NULL];
32 [UIView setAnimationDuration:animationDuration];
33
34 self.myTableView.frame = self.view.bounds;
35
36 [UIView commitAnimations];
37 }