如何使導航欄和狀態欄變模糊(UIBlurEffect)?當我通過單擊圖像向下滾動(滾動視圖)到其他圖片時,此圖片(在這種情況下是用白色機器)在導航欄下簡單地丟失了,並且有必要在該圖下可見帶有效果UIBlurEffect的導航欄。如何使導航欄和狀態欄模糊(UIBlurEffect)? iOS,Swift 3
我已經試過這樣,但沒有奏效:
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
此外,在AppDelegate中(用Objective-C,他應用程序) didFinishLaunchingWithOptions,我嘗試添加這一切仍然是相同的,沒有任何變化:
[[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天。
對不起,我的英文不好。
謝謝,作品幫我第二行 –
我看不出有任何所有權或按鈕任何更多... –
@RayKing我有同樣的問題。我在這裏找到了解決方案:http://stackoverflow.com/a/27316465 只需在添加效果後添加:self.navigationController?.navigationBar.sendSubviewToBack(visualEffectView)。 –