我试图让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也需要“实时模糊”。
这是两张图片。第一个是实际的工具栏(我希望它就像),第二个是使用上面的代码。他们都是在同一背景下接受的。
正如您在工具栏下方看到的那样,模糊效果不那么强烈。
如何使其更像原始工具栏?
答案 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)
试试这个,
Creating a blurring overlay view
How to apply blur to a UIView?
同样在iOS 8中,它会更容易,你可以简单地使用UIVisualEffectView
https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIVisualEffectView/