今天我向navigationBar
添加了模糊效果,看起来很棒。但是navigationBar
中的按钮仅在我在模拟器上测试应用程序时可见,但在我在真实设备上测试时隐藏( iPhone 5s )。什么可能导致这样的问题?我不知道是什么导致这种情况,也许某些东西不符合某些原因?
我有两个带导航栏的tableviews
。我只在第一个视图中设置模糊,但它也在第二个视图中设置模糊。
编辑:在第一个视图中,即使在真实设备上也可以看到所有按钮。
Edit2 :所有按钮都显示在真正的 iPhone 6 IOS 9.3.4 上,而不是真正的 iPhone 5s IOS 10 Beta 6 。 所以问题仅出在IOS 10上。
编辑3:该按钮不可见,但行为正确(返回第一个控制器)
像这样我设置模糊效果并在viewDidLoad
内调用它:
func addBlurEffect(toView view:UIView?) {
// Add blur view
guard let view = view else { return }
//This will let visualEffectView to work perfectly
if let navBar = view as? UINavigationBar{
navBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
navBar.shadowImage = UIImage()
}
var bounds = view.bounds
bounds.offsetInPlace(dx: 0.0, dy: -20.0)
bounds.size.height = bounds.height + 20.0
let blurEffect = UIBlurEffect(style: .Dark)
let visualEffectView = UIVisualEffectView(effect: blurEffect)
visualEffectView.userInteractionEnabled = false
visualEffectView.frame = bounds
visualEffectView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
view.insertSubview(visualEffectView, atIndex: 0)
}