iOS 7在导航的自定义动画中显示黑色背景

我在我的iOS应用程序中使用自定义动画进行导航.

我有一个UINavigationController的子类,其中重写了以下方法

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    CATransition* transition = [CATransition animation];
    transition.duration = 0.4;
    transition.timingFunction = [camediatimingFunction functionWithName:kcamediatimingFunctionDefault];
    transition.type = kCATransitionPush;//kCATransitionFade; //kCATransitionMoveIn; //,kCATransitionPush,kCATransitionReveal,kCATransitionFade
    transition.subtype = kCATransitionFromLeft; //kCATransitionFromLeft,kCATransitionFromright,kCATransitionFromTop,kCATransitionFromBottom
    [self.view.layer addAnimation:transition forKey:@"Push"];

    [super pushViewController:viewController animated:NO];
}

- (UIViewController *)popViewControllerAnimated:(BOOL)animated
{
    CATransition* transition = [CATransition animation];
    transition.duration = 0.4;
    transition.timingFunction = [camediatimingFunction functionWithName:kcamediatimingFunctionDefault];
    transition.type = kCATransitionPush;//kCATransitionFade; //kCATransitionMoveIn; //,kCATransitionFade
    transition.subtype = kCATransitionFromright; //kCATransitionFromLeft,kCATransitionFromBottom
    [self.view.layer addAnimation:transition forKey:@"Pop"];

    UIViewController *poppedVC = [super popViewControllerAnimated:NO];

    return poppedVC;
}

我不记得链接,但我从这里的一个问题复制了这个代码,一点点修改我有用.

现在,当我将代码移植到iOS 7 SDK时,导航时会显示黑色背景.

在这里发布了一个视频:Black background while navigation in iOS app,以便说清楚.

注意:我的应用程序中的要求是当推/弹时动画与认的左右和左右相反.当我针对iOS 5并且没有显示黑色背景/屏幕时,此代码工作正常.

解决方法

在委托中添加(didFinishLaunchingWithOptions方法)这两行:
self.window.backgroundColor = [UIColor whiteColor];
self.window.tintColor = [UIColor whiteColor];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...