Revision: 23138
                            
                                                            
                                    
                                        
Updated Code
                                    
                                    
                                                    
                        at August 31, 2010 22:37 by habib123
                            
                            Updated Code
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
- (void)keyboardWillShow:(NSNotification *)notification
{
        
    UIScrollView *scrollView = (UIScrollView *)self.view;
    CGRect bounds = [[[notification userInfo] objectForKey:UIKeyboardBoundsUserInfoKey] CGRectValue];
    CGPoint center = [[[notification userInfo] objectForKey:UIKeyboardCenterEndUserInfoKey] CGPointValue];
    // We need to compute the keyboard and table view frames in window-relative coordinates
    CGRect keyboardFrame = CGRectMake(round(center.x - bounds.size.width/2.0), round(center.y - bounds.size.height/2.0), bounds.size.width, bounds.size.height);
    CGRect viewFrame = [scrollView.window convertRect:scrollView.frame fromView:scrollView.superview];
    // And then figure out where they overlap
    CGRect intersectionFrame = CGRectIntersection(viewFrame, keyboardFrame);
        // This assumes that no one else cares about the table view's insets...
    UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, intersectionFrame.size.height, 0);
    [scrollView setContentInset:insets];
    [scrollView setScrollIndicatorInsets:insets];
    [scrollView flashScrollIndicators];
}
- (void)keyboardWillHide:(NSNotification *)notification
{
        
    UIScrollView *scrollView = (UIScrollView *)self.view;
    // This assumes that no one else cares about the table view's insets...
    [scrollView setContentInset:UIEdgeInsetsZero];
    [scrollView setScrollIndicatorInsets:UIEdgeInsetsZero];
         
}
//For iPad
- (void)keyboardWillMove:(NSNotification *)note {
    NSDictionary *info = [note userInfo];
    CGRect kbBeginFrame = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
    CGRect kbEndFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
    kbBeginFrame = [self.view convertRect:kbBeginFrame fromView:nil];
    kbEndFrame = [self.view convertRect:kbEndFrame fromView:nil];
    double animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
    UIViewAnimationCurve animationCurve = (UIViewAnimationCurve)[[info objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue];
    [UIView beginAnimations:@"OAKeyboardAnimation" context:nil];
    [UIView setAnimationCurve:animationCurve];
    [UIView setAnimationDuration:animationDuration];
    CGFloat kbYDelta = kbEndFrame.origin.y - kbBeginFrame.origin.y;
    CGFloat x = leftButton.center.x;
    leftButton.center = CGPointMake(x, leftButton.center.y + kbYDelta);
    middleButton.center = CGPointMake(x, middleButton.center.y + kbYDelta);
    rightButton.center = CGPointMake(x, rightButton.center.y + kbYDelta);
    [UIView commitAnimations];
}
                                
                            Revision: 23137
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at January 31, 2010 03:50 by habib123
                            
                            Initial Code
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
- (void)keyboardWillShow:(NSNotification *)notification
{
        
    UIScrollView *scrollView = (UIScrollView *)self.view;
    CGRect bounds = [[[notification userInfo] objectForKey:UIKeyboardBoundsUserInfoKey] CGRectValue];
    CGPoint center = [[[notification userInfo] objectForKey:UIKeyboardCenterEndUserInfoKey] CGPointValue];
    // We need to compute the keyboard and table view frames in window-relative coordinates
    CGRect keyboardFrame = CGRectMake(round(center.x - bounds.size.width/2.0), round(center.y - bounds.size.height/2.0), bounds.size.width, bounds.size.height);
    CGRect viewFrame = [scrollView.window convertRect:scrollView.frame fromView:scrollView.superview];
    // And then figure out where they overlap
    CGRect intersectionFrame = CGRectIntersection(viewFrame, keyboardFrame);
        // This assumes that no one else cares about the table view's insets...
    UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, intersectionFrame.size.height, 0);
    [scrollView setContentInset:insets];
    [scrollView setScrollIndicatorInsets:insets];
    [scrollView flashScrollIndicators];
}
- (void)keyboardWillHide:(NSNotification *)notification
{
        
    UIScrollView *scrollView = (UIScrollView *)self.view;
    // This assumes that no one else cares about the table view's insets...
    [scrollView setContentInset:UIEdgeInsetsZero];
    [scrollView setScrollIndicatorInsets:UIEdgeInsetsZero];
         
}
                                Initial URL
Initial Description
Initial Title
Keyboard Notification
Initial Tags
Initial Language
Objective C