当应用程序从后台加载时显示被屏蔽的UIView内容



我有一个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来调用你的动画方法。


这将适用于任何应用程序的视图控制器,如果你想在特定视图中使用它,请检查当前可见视图控制器。

最新更新