【问题标题】:Masked UIView contents showing when app loads from Background应用程序从后台加载时显示的蒙版 UIView 内容
【发布时间】:2013-04-23 11:58:32
【问题描述】:

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

-(void)viewDidLoad{

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

    self.myView.layer.mask = maskLayer;
}

我的问题是,当我按下主页按钮后返回应用程序时,蒙版区域会随着应用程序从背景状态动画化而短暂显示。

据我了解,这是因为 iOS 会捕获应用程序状态的图像来显示此动画,而蒙版层没有被捕获? (我之前在以编程方式捕获我的应用程序的快照时遇到过这个问题)

有没有更好的地方可以进行遮罩,或者有更好的遮罩方法来纠正这个问题?

【问题讨论】:

    标签: ios objective-c xcode quartz-core


    【解决方案1】:

    当应用来自后台时,它会调用 AppDelegate 的以下方法

    - (void)applicationWillEnterForeground:(UIApplication *)application
    

    解决方案

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


    这适用于应用程序的任何视图控制器,如果您希望它用于特定视图检查当前可见视图控制器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多