0

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}}
4

1 に答える 1