UIViewAnimationOptionTransitionCrossDisolve を使用して、あるビューから別のビューに移行しています。
私が抱えている問題は、トランジションが有効になった後、画面の上部に 20 ピクセルのギャップがあり、新しい UIViewController が押し上げられて画面が正常に見えることです。
これを修正するにはどうすればよいですか?
ここに私の移行コードがあります:
- (IBAction)logInButtonTapped
{
[self performTransition:UIViewAnimationOptionTransitionCrossDissolve];
}
-(void)performTransition:(UIViewAnimationOptions)options
{
//Step 1: Create your Controllers
_frontViewController = [[UINavigationController alloc] initWithRootViewController:[[ViewController alloc] init]];
NSLog(@"ViewController Frame: %@", NSStringFromCGRect(_frontViewController.view.frame));
_frontViewController.wantsFullScreenLayout = NO;
self.navigationController.navigationBar.frame = CGRectOffset(self.navigationController.navigationBar.frame, 0.0, -20.0);
UIViewController * leftViewController = [[LeftSideViewController alloc] init];
//Step 2: Instantiate your PKRevealController
self.revealController = [PKRevealController revealControllerWithFrontViewController:_frontViewController leftViewController:leftViewController rightViewController:nil options:nil];
UIView * fromView, *toView;
if ([self.view superview] != nil)
{
fromView = self.view;
toView = self.revealController.view;
NSLog(@"After Transition ViewController Frame: %@", NSStringFromCGRect(_frontViewController.view.frame));
}
[UIView transitionFromView:fromView toView:toView duration:0.5
options:options completion:^(BOOL finished){}];
}
これが私のNSLogのショーです:
2013-04-03 18:14:30.560 AppName[24631:c07] {{0, 0}, {320, 548}}
2013-04-03 18:14:31.691 AppName[24631:c07] ViewController Frame: {{0, 0}, {320, 568}}
2013-04-03 18:14:31.692 AppName[24631:c07] After Transition ViewController Frame: {{0, 0}, {320, 548}}