背景中的CATransition白色闪光?

Sof*_*LLC 2 iphone uinavigationcontroller pushviewcontroller catransition ios

我正在尝试从左侧而不是右侧进行pushViewController幻灯片,如下所示:

Page14Controller * controller = [[Page14Controller alloc] initWithNibName:@"Page14Controller" bundle:nil];

CATransition* transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionPush;
//                transition.type = kCATransitionMoveIn; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
//kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
transition.subtype = kCATransitionFromLeft; 
//kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom
[self.navigationController.view.layer addAnimation:transition forKey:nil];

[self.navigationController pushViewController:controller animated:NO];
Run Code Online (Sandbox Code Playgroud)

当我这样做时,当前控制器淡化为白色,这看起来很糟糕.为什么会这样?我已经尝试将当前视图的alpha背景设置为0.

Sof*_*LLC 7

我想出了什么显然导致了白色闪光:它是主窗口的背景.将此设置为alpha = 0有助于白色效果.它看起来kCATransitionPush实际上消失的观点被推离屏幕,并且很明显,如果有什么是下是绿色的,那么它会褪色绿色.如果它不褪色会很好,但这是一个不同的问题.

  • 嗨,我有完全相同的问题,我试图设置我的UIWindow的.backgroundColor与alpha = 0,但它没有解决问题.你到底在干什么 ?谢谢. (3认同)