Revision: 27548
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 15, 2010 16:32 by devb0yax
Initial Code
.h file: @interface MyTextViewViewController : UIViewController <UITextViewDelegate> { UITextView *m_textView; UIBarButtonItem *doneBarButtonItem; } @property(nonatomic,retain) IBOutlet UITextView *m_textView; @property(nonatomic,retain) IBOutlet UIBarButtonItem *doneBarButtonItem; - (IBAction)saveAction:(id)sender; ---------------------------- .m file: ... - (void)viewWillAppear:(BOOL)animated { // listen for keyboard hide/show notifications so we can properly adjust the table's height [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil]; } - (void)keyboardWillShow:(NSNotification *)aNotification { // the keyboard is showing so resize the table's height CGRect keyboardRect = [[[aNotification userInfo] objectForKey:UIKeyboardBoundsUserInfoKey] CGRectValue]; NSTimeInterval animationDuration = [[[aNotification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; CGRect frame = self.view.frame; frame.size.height -= keyboardRect.size.height; [UIView beginAnimations:@"ResizeForKeyboard" context:nil]; [UIView setAnimationDuration:animationDuration]; self.view.frame = frame; [UIView commitAnimations]; } - (void)keyboardWillHide:(NSNotification *)aNotification { // the keyboard is hiding reset the table's height CGRect keyboardRect = [[[aNotification userInfo] objectForKey:UIKeyboardBoundsUserInfoKey] CGRectValue]; NSTimeInterval animationDuration = [[[aNotification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; CGRect frame = self.view.frame; frame.size.height += keyboardRect.size.height; [UIView beginAnimations:@"ResizeForKeyboard" context:nil]; [UIView setAnimationDuration:animationDuration]; self.view.frame = frame; [UIView commitAnimations]; } #pragma mark - #pragma mark UITextViewDelegate - (void)textViewDidBeginEditing:(UITextView *)textView { doneBarButtonItem.enabled = YES; } - (IBAction)saveAction:(id)sender { doneBarButtonItem.enabled = NO; [self.m_textView resignFirstResponder]; }
Initial URL
Initial Description
Initial Title
Textview input is behind the keyboard
Initial Tags
Initial Language
iPhone