如何取消特定视图的通知中心视觉效果(iOS)?

时间:2015-02-04 20:20:56

标签: ios xcode swift ios8 ios8-today-widget

我已将applyVibrancy方法的viewDidLoad函数应用于我的今日窗口小部件应用程序。

mainViewController

这成功地将此视觉效果应用到我的整个小部件中。但我希望我的一些嵌套视图(标签,按钮,图像等)能够受到 NOT 的影响。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

为了达到您想要的效果,对于您想要具有此效果的视图,请将它们添加到contentView的{​​{1}},然后将其添加为UIVisualEffectView的子视图。对于不受影响的其他视图,请直接将其添加到self.view

当我运行你的代码时,我得到一个黑屏。

  

UIVibrancyEffect放大并调整分层内容的颜色   在视图后面,允许将内容放在contentView中   变得更加生动。它旨在被放置在或作为子视图   ,已使用UIBlurEffect配置的UIVisualEffectView。   此效果仅影响添加到contentView的内容。

self.view是一种UIVibrancyEffect,但在您的代码中没有配置了UIBlurEffect的UIVisualEffectView,您应该创建一个,并将notificationCenterVibrancyEffect放在该视图上或添加{{1} }作为该视图的contentView的子视图。否则你将看不到任何活力。

这是一些测试代码。

effectView