【发布时间】:2014-08-16 22:20:49
【问题描述】:
我想实现UIVisualEffectView 以对视图应用模糊效果以显示位于其后面的视图。
这个背景应该模糊的视图是一个嵌入在UINavigationController中的UITableViewController,它要么在iPad上以弹出框的形式呈现,要么在iPhone上以全屏模式呈现,这要归功于iOS 8 个自适应转场(以 Popover 形式呈现)。当这个视图控制器在弹出窗口中时,我希望背景模糊弹出窗口下方的内容,当它全屏显示时,我希望背景模糊前一个视图控制器。
我已经尝试过实现这一点,但没有成功。我什至无法让模糊效果为弹出框工作。我认为这段代码应该可以解决问题:
//In viewDidLoad on the UITableViewController subclass:
let effectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light))
effectView.frame = tableView.frame
tableView.addSubview(effectView)
我还尝试将子视图添加到tableView.backgroundView,我尝试将backgroundView 设置为我的effectView,我尝试使用自动布局约束而不是设置框架,但没有任何效果。你能帮我完成想要的行为吗?
我试图获得的一个例子:
iPad弹出框:
iPhone 模态演示:
【问题讨论】:
标签: ios uitableview swift uipopovercontroller modalviewcontroller