【问题标题】:Blur Image On Launch of App应用程序启动时模糊图像
【发布时间】:2014-03-24 09:17:17
【问题描述】:

我正在尝试编写一个 iPhone 应用程序,该应用程序在启动时会出现启动图像,然后需要 2.5 秒才能模糊。模糊效果完成后,我希望 UI 的其余部分出现。

我打算使用以下代码来模糊图像:

[UIView transitionWithView:self.view duration:2.5 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
    self.backgroundImage.image = [UIImage imageNamed:@"640 x 960 Blur10_iOS7@2x.png"];
} completion:^(BOOL finished) {

}];

BackgoundImage 使用图像的常规视图进行初始化,需要 2.5 秒才能过渡到图像的 blur10 视图。但是,当我从 didViewLoad 方法运行此代码时,应用程序以已经模糊的图像视图打开,并且不显示动画。如果我通过按下按钮运行代码,它会完美运行。

【问题讨论】:

    标签: ios objective-c image blur


    【解决方案1】:

    你应该把它放进去:

    - (void) viewDidAppear:(BOOL)animated {
        // put stuff here
    }
    

    这样,在视图可见之前它不会运行。

    或者,您可以在 viewWillAppear 中准备它并在 viewDidAppear 中开始淡入淡出。

    - (void) viewWillAppear:(BOOL)animated {
        // view is about to appear, set up your blur
    } 
    
    - (void) viewDidAppear:(BOOL)animated {
        // view has appeared, start your blur.
    }
    

    【讨论】:

    • 感谢您的回复。我是 ios 开发和 Objective-C 的新手。在我的视图控件实现文件中,我没有看到 viewWillAppear 或 viewDidAppear 方法。我需要手动添加这些吗?
    【解决方案2】:

    模糊图像是一项昂贵的操作。制作随着时间推移而模糊的动画更加昂贵,并且可能无法按预期运行。

    您最好创建许多具有不同模糊量的不同图像,然后使用animationImagesstartAnimatingUIImageView 中为它们设置动画。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      • 1970-01-01
      相关资源
      最近更新 更多