【发布时间】:2017-01-21 15:26:52
【问题描述】:
如何使导航栏和状态栏模糊(UIBlurEffect)?当我通过点击图片向下滚动(滚动查看)到其他图片时,这张图片(在本例中为白色机器)只是在导航栏下丢失了,有必要在下面看到这个图具有 UIBlurEffect 效果的导航栏。
我试过了,但是没用:
func addBlurEffect() {
// Add blur view
let bounds = self.navigationController?.navigationBar.bounds as CGRect!
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
visualEffectView.frame = bounds!
visualEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.navigationController?.navigationBar.addSubview(visualEffectView)
self.navigationController?.navigationBar.sendSubview(toBack: visualEffectView)
visualEffectView.isUserInteractionEnabled = false }
首先,当滚动图片时,导航栏下会消失。
其次,状态栏保持灰色。
Bad UIBlurEffect for NavigationBar, and NO UIBlurEffect for StatusBar
为了不让状态栏一直变灰,我试过了,但是没用=(
bounds.offsetBy(dx: 0.0, dy: -20.0)
bounds.size.height = bounds.height + 20.0
在didFinishLaunchingWithOptions 中的AppDelegate(他用Objective-C 编写的应用程序)中,我尝试添加它都保持不变,没有任何更改:
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc]init] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc]init]];
[[UINavigationBar appearance] setBackgroundColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]];
[[UINavigationBar appearance] setTranslucent:YES];
请帮忙解决问题,我搞砸了 3 天。
对不起我的英语不好。
【问题讨论】:
标签: ios swift3 uivisualeffectview uiblureffect