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

时间:2013-04-23 11:58:33

标签: ios objective-c xcode quartz-core

我有一个UIView的一部分,我添加了一个掩码使用:

-(void)viewDidLoad{

    CALayer* maskLayer = [CALayer layer];
    maskLayer.contents = (__bridge id)[[UIImage imageNamed:@"mask.png"] CGImage];

    self.myView.layer.mask = maskLayer;
}

我的问题是,当我按下主页按钮后返回应用程序时,屏幕区域会短暂显示,因为应用程序会从背景状态动画。

根据我的理解,这是因为iOS会捕获应用状态的图像以显示此动画,并且不会捕获蒙版图层? (我以编程方式捕获应用程序的快照之前遇到过这个问题)

是否有更好的地方可以进行面膜,或者更好的掩盖方法来纠正这个?

1 个答案:

答案 0 :(得分:0)

当应用程序来自后台时,它将调用以下AppDelegate方法

- (void)applicationWillEnterForeground:(UIApplication *)application

的解决方案

  • 在上面的方法中添加图层动画代码(applicationWillEnterForeground)
  • 添加选择器或NSNotificationCenter,它将调用您的动画方法。


这适用于app的任何视图控制器,如果你想要它用于特定视图检查当前可见视图控制器。