应用程序启动时的模糊图像

时间:2014-03-23 21:58:54

标签: ios objective-c image blur

我试图编写一个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使用图像的常规视图进行初始化,转换到图像的blur10视图需要2.5秒。但是,当我从didViewLoad方法运行此代码时,应用程序将打开,其中包含已经模糊的图像视图,并且不显示动画。如果我按下按钮运行代码,它就能完美运行。

2 个答案:

答案 0 :(得分:0)

你应该把它放进去:

- (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.
}

答案 1 :(得分:0)

模糊图像是一项昂贵的操作。制作随着时间的推移而模糊的动画甚至更昂贵,并且可能不会像您期望的那样运行。

您最好使用不同的模糊量创建大量不同的图像,然后使用UIImageViewanimationImagesstartAnimating中设置动画。