android ios动态模糊效果,iOS 7动态模糊效果,如Control Center中一样

我正在尝试制作一个类似于iOS7中的Control Center的控制器。在WWDC会话#226中,我学习了如何获得具有不同效果的模糊图像

UIGraphicsBeginImageContextWithOptions(image.size, NULL, 0);

[view drawViewHierarchyInRect:rect];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

lightImage = [newImage applyLightEffect];

因此,换句话说,我们只捕获一些图像(制作屏幕快照),执行模糊效果,然后将这些模糊的图像用于我们的需求。

但是,如果您在一些动态内容上方打开控制中心,则会注意到控制中心的模糊背景和内容的变化也在变化。

有人知道如何复制这种行为吗?

我看到它的唯一方法是捕获内容并以一定间隔(例如半秒)进行模糊效果。但这看起来多余。

最佳答案

这是我已经找到的现成的解决方案:

1.最出乎意料的:使用UIToolBar

- (id) initWithFrame:(CGRect)frame

{

if ((self = [super initWithFrame:frame]))

{

[self setup];

}

return self;

}

- (id) initWithCoder:(NSCoder *)coder

{

if ((self = [super initWithCoder:coder]))

{

[self setup];

}

return self;

}

- (void) setup

{

if (iOS7OrLater)

{

self.opaque = NO;

self.backgroundColor = [UIColor clearColor];

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:self.bounds];

toolbar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

toolbar.barTintColor = self.tintColor;

[self insertSubview:toolbar atIndex:0];

}

}

UIToolbar可以用于此需求,因为它具有他唯一的内置模糊机制,并且该机制是动态的,所以很好。但坏的是,由于某种原因,它会忽略颜色并使背景看起来无法挽回。

更新:

为避免颜色破坏,请勿使用barTintColor。如果您想要深色模糊(使用UIBarStyleBlack),也可以更改工具栏的样式。

2. FXBlurView。

与工具栏不同,它更具积极性,但它的动态机制还很少见,实际上它只能用于静态背景。 (动态= NO)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值