我有一个UIView的一部分,我添加了一个蒙版使用:
-(void)viewDidLoad{
CALayer* maskLayer = [CALayer layer];
maskLayer.contents = (__bridge id)[[UIImage imageNamed:@"mask.png"] CGImage];
self.myView.layer.mask = maskLayer;
}
我的问题是,当我按下home键后返回应用程序时,当应用程序从背景状态动画时,遮罩区域会短暂显示。
据我所知,这是因为iOS捕获了你的应用程序状态的图像来显示这个动画,而遮罩层没有被捕获?(我有这个问题之前在编程捕获我的应用程序的快照)
是否有一个更好的地方,我可以执行遮罩,或者也许有一个更好的遮罩方法来纠正这个?
当应用程序来自后台时,它将调用AppDelegate的以下方法
- (void)applicationWillEnterForeground:(UIApplication *)application
解决方案- 在上述方法(applicationWillEnterForeground)中添加图层动画代码。
或 - 添加选择器或NSNotificationCenter来调用你的动画方法。
这将适用于任何应用程序的视图控制器,如果你想在特定视图中使用它,请检查当前可见视图控制器。