UIView背景太模糊了

时间:2014-06-29 16:28:00

标签: ios objective-c uiview

我试图让UIView(Genres)背景模糊。我试过这段代码。但它太模糊了:

_Genres.opaque = NO;
_Genres.backgroundColor = [UIColor clearColor];
UIToolbar *fakeToolbar = [[UIToolbar alloc] initWithFrame:_Genres.bounds];
fakeToolbar.autoresizingMask = _Genres.autoresizingMask;
[_Genres insertSubview:fakeToolbar atIndex:0];

所以我尝试了这个:

_Genres.alpha = 0.9;

但这只是让它看起来不那么模糊。

UIView也需要“实时模糊”。

这是两张图片。第一个是实际的工具栏(我希望它就像),第二个是使用上面的代码。他们都是在同一背景下接受的。

enter image description here

enter image description here

正如您在工具栏下方看到的那样,模糊效果不那么强烈。

如何使其更像原始工具栏?

4 个答案:

答案 0 :(得分:1)

你想要FXBlurView:https://github.com/nicklockwood/FXBlurView。如果您需要模糊以进行实时设置动态= YES。

否则它只是表现为UIView,但模糊背后的东西

答案 1 :(得分:0)

如果您的目标是iOS 7及更高版本,我相信这篇文章可能会对您有所帮助: http://www.raywenderlich.com/60968/ios-7-blur-effects-gpuimage

作者使用新的iOS 7 API创建将在iOS 7中显示的模糊。最重要的是,通过更改一行代码,您将能够尝试其他不同类型的模糊。

答案 2 :(得分:0)

除非你对所谓的' live blur'有特别的需求,否则不要尝试在iOS 7上使用UIToolbar模糊。除此之外,我建议你使用Apple自己的UIImage扩展名。在这里查看:

https://gist.github.com/ShadeApps/a9c9944b80048ae200c1

将其导入.m文件:

#import "UIImage+ImageEffects.h"

然后在UIImage使用它:

[ourImage applyBlurWithRadius:10 tintColor:[[UIColor blackColor] colorWithAlphaComponent:0.5] saturationDeltaFactor:0.0 maskImage:nil];

通过这种方式,您可以根据需要进行大量定制,从而实现更好,更快的效果。

答案 3 :(得分:0)