在我的应用程序中,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];总结
以上是内存溢出为你收集整理的ios – 从右向左推时,传输黑色问题全部内容,希望文章能够帮你解决ios – 从右向左推时,传输黑色问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)