ios – 从右向左推时,传输黑色问题

可能这种类型的问题发生在许多开发者身上,我也试图在Google上找到,但是没有运气来解决我的问题.

在我的应用程序中,rootViewController动态地设置在窗口上,我的意思是用户可以在运行时应用程序更改root视图.所以我首先从UIWindow中删除当前的rootViewController,然后在UIWindow上设置新的rootViewController,并使用特定的动画.
这个动画由CATransition与transition.type = kCATransitionPush ;.
我的应用程序工作非常好,除了新的rootViewController的动画.如上所述,我使用kCATransitionPush与CATransition

编辑:
以下是我的代码

-(void) changeRootViewController
{
    for(UIView *subViews in self.window.rootViewController.view.subviews)
        [subViews removeFromSuperview];
    [self.window.rootViewController.view removeFromSuperview];
    self.window.rootViewController.view = nil;
    [self.window.rootViewController removeFromParentViewController];

    MainRootViewController *mainRootVC = [[MainRootViewController alloc] init];

    CATransition *animation = [CATransition animation];
    [animation setDuration:0.4];
    [animation setType:kCATransitionPush];
    [animation setSubtype:kCATransitionFromright];
    animation.fillMode = kCAFillModeForwards;
    [animation setTimingFunction:[camediatimingFunction functionWithName:kcamediatimingFunctionDefault]];
    self.window.rootViewController = mainRootVC;
    [[self.window layer] addAnimation:animation forKey:nil];
}

我也试图设置UIWindow背景的clearColor和whiteColor.但不工作

我的问题是:当动画处理(从右到左)时,我变得黑影.所以任何人都可以帮我隐藏这个黑影?请给你金色的建议.

谢谢.

解决方法

在代理中添加(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...