Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I have wrote this code for one of my Application.</p> <p>It automatically detects the Position of the TextField and Scroll the baseView Accordingly.</p> <pre> <code> - (void)textFieldDidBeginEditing:(UITextField *)textField { [self animateTextField:textField up:YES]; } - (void)textFieldDidEndEditing:(UITextField *)textField { [self animateTextField:textField up:NO]; } - (void) animateTextField: (UITextField*) textField up: (BOOL) up { CGPoint temp = [textField.superview convertPoint:textField.frame.origin toView:nil]; UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; if (orientation == UIInterfaceOrientationPortrait){ if(up) { int moveUpValue = temp.y+textField.frame.size.height; animatedDis = 264-(1024-moveUpValue-5); } } else if(orientation == UIInterfaceOrientationPortraitUpsideDown) { if(up) { int moveUpValue = 1004-temp.y+textField.frame.size.height; animatedDis = 264-(1004-moveUpValue-5); } } else if(orientation == UIInterfaceOrientationLandscapeLeft) { if(up) { int moveUpValue = temp.x+textField.frame.size.height; animatedDis = 352-(768-moveUpValue-5); } } else { if(up) { int moveUpValue = 768-temp.x+textField.frame.size.height; animatedDis = 352-(768-moveUpValue-5); } } if(animatedDis>0) { const int movementDistance = animatedDis; const float movementDuration = 0.3f; int movement = (up ? -movementDistance : movementDistance); [UIView beginAnimations: nil context: nil]; [UIView setAnimationBeginsFromCurrentState: YES]; [UIView setAnimationDuration: movementDuration]; if (orientation == UIInterfaceOrientationPortrait){ baseViewController.view.frame = CGRectOffset(baseViewController.view.frame, 0, movement); } else if(orientation == UIInterfaceOrientationPortraitUpsideDown) { baseViewController.view.frame = CGRectOffset(baseViewController.view.frame, 0, movement); } else if(orientation == UIInterfaceOrientationLandscapeLeft) { baseViewController.view.frame = CGRectOffset(baseViewController.view.frame, 0, movement); } else { baseViewController.view.frame = CGRectOffset(baseViewController.view.frame, 0, movement); } [UIView commitAnimations]; } } </code> </pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload