The following is my custom VC presentation code:

```
-(void)presentViewController:(UIViewController*)vc
{
    UIWindow *w = [[[UIApplication sharedApplication] delegate] window];
    UIViewController *parentController = (TabBarViewController *)[w rootViewController];

    [parentController addChildViewController:vc];
    if ([vc respondsToSelector:@selector(beginAppearanceTransition:animated:)]) // iOS 6
    {
        [vc beginAppearanceTransition:YES animated:YES];
    }
    UIView *toView = vc.view;
    [parentController.view addSubview:toView];
    toView.frame = parentController.view.bounds;

    CGAffineTransform tr = CGAffineTransformScale(self.view.transform, 1.0f, 1.0f);
    toView.transform = CGAffineTransformScale(self.view.transform, 0.01f, 0.01f);;
    CGPoint oldCenter = toView.center;

    toView.center = ((RootViewControllerEx*)vc).cellCenter;

    [UIView animateWithDuration:4.5 animations:^{
            toView.transform = tr;
            toView.center = oldCenter;
    } completion:^(BOOL finished) {

        [vc didMoveToParentViewController:parentController];
        if ([vc respondsToSelector:@selector(endAppearanceTransition)]) // iOS 6
        {
            [vc endAppearanceTransition];
        }

    }];
}

```

It works fine, however, in presented VC I am hiding status bar:

```
- (BOOL)prefersStatusBarHidden {
    return YES;
}

```

When I present my VC using built-in `presentViewController:animated:completion:`, status bar in presented VC is hidden. But with my code on iOS 7 status bar is not hidden at all, on iOS 6 it is even more strange - status bar is hidden, but my view size is shorter from top by the size of status bar. So I can see a black gap from top on iOS 6. What should I do to properly hide status bar when using custom VC presentation?