OSDN Git Service

Resize detail view window size when keyboard is show/hide.
authorHirami <tomohisa.hirami@nifty.com>
Fri, 30 Mar 2012 03:39:59 +0000 (12:39 +0900)
committerHirami <tomohisa.hirami@nifty.com>
Fri, 30 Mar 2012 03:39:59 +0000 (12:39 +0900)
iOS/Tombo/Tombo/DetailViewController.m

index 89ea77e..c889fbf 100644 (file)
 {
     [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
+    NSNotificationCenter *notify = [NSNotificationCenter defaultCenter];
+    [notify addObserver:self 
+               selector:@selector(keyboardDidShow:) 
+                   name:UIKeyboardDidShowNotification 
+                 object:nil];
+    
+    [notify addObserver:self
+               selector:@selector(keyboardDidHide:)
+                   name:UIKeyboardDidHideNotification
+                 object:nil];
+    
     [self configureView];
 }
 
     }
 }
 
+#pragma mark - Notification handler
+
+- (void)keyboardDidShow:(NSNotification*)notification {
+    NSDictionary *info = [notification userInfo];
+    
+    CGRect rect = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
+    CGRect frame = self.detailText.frame;
+    frame.size.height -= rect.size.height;
+    self.detailText.frame = frame;
+}
+
+- (void)keyboardDidHide:(NSNotification*)notification {
+    NSDictionary *info = [notification userInfo];
+    
+    CGRect rect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
+    CGRect frame = self.detailText.frame;
+    frame.size.height += rect.size.height;
+    self.detailText.frame = frame;
+}
+
 #pragma mark - Split view
 
 - (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController