Xcode 6中如何在Storyboard中使用UIVisualEffectView

10

我在Xcode 6的对象库中寻找UIVisualEffectView以在故事板中添加模糊效果。我知道如何在程序中实现这一点,但我找不到在StoryBoard中实现这一点的方法。

这是否在当前测试版中不可用,或者有没有不那么直接的方法可以实现?

1个回答

13

iOS 8.0 金主版升级

自iOS 8.0 Gold Master版本起,Xcode现在在对象库中提供了UIVisualEffectView。要在Storyboard中添加UIVisualEffectView,只需从对象库拖动它,放置位置,然后使用属性检查器自定义即可。


iOS 8.0 Beta 5及更早版本

按照以下步骤在Storyboard中添加UIVisualEffectView

  1. 创建一个普通的空UIView(从对象库中)
  2. 将UIView的自定义类设置为UIVisualEffectViewenter image description here
  3. 将这个新视图连接到您的代码中,请确保您不会直接在Storyboard中添加任何子视图(如Apple文档中所述)。
  4. 继续进行编程设置(即使用contentView)。

不幸的是,看起来contentView属性不是IBOutlet,因此无法在界面中进行设置(至少在这个beta版本中)。希望他们会在下一个beta版本中改变这一点。我向Apple提交了一个错误报告,以便能够完全在Storyboard中创建UIVisualEffectView。(Open Radar for rdar://17742263)。


iOS 8.0 Beta 5及更早版本 - 编辑

虽然您可以使用上述方法在Storyboard中添加UIVisualEffectView,但无法从Storyboard中初始化该视图。在当前beta版(iOS 8,Beta 3)中,这些视图应完全通过编程方式创建以实现任何效果。

UIVisualEffects GitHub存储库演示了一种简单的设置和使用新API的方法,可以通过多种方式实现(但是该存储库仅支持Swift,没有Objective-C代码)。


在你看来,目前这个beta版本好像还不能使用UIBlurEffect或者UIVibrancyEffect,是吗?如果没有这些效果的话,它就没什么用处了。如果有任何进展,记得随时更新这篇帖子。不过要看他们是否会读到了;] - erdekhayser
@erdekhayser 你说得对!不幸的是,苹果没有提供替代的 init 方法(只有那个用于编程设置的)。该问题的 radar 链接已经添加并可在 OpenRadar 上查看。希望在 Seed 4 中能够修复! - Sam Spencer
1
我认为GM版本已经包含了这个功能(没有在后续测试版中进行检查)。如果您愿意,我可以让您编辑您的答案。 - erdekhayser
1
不幸的是,在Xcode 6.3 beta 1中,UIVisualEffectView消失了。 - WeZZard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接