遇到这个主要是因为看到App Store精品推荐模块中, 通过每一个分类的显示全部按钮点进去后, 跳转页的导航栏明显比64px高, 但是依然有导航栏效果, 所以就琢磨怎么实现的, 于是就有了下文.
方法一: 使用UIToolBar
UIToolBar有四种style: defalt(UIBarStyleDefault (blue)), black, blackTranslucent, blackOpaque; 默认是default, 后两者已经过时了.
代码:
let view = UIView(frame: CGRect(x: 0, y: 200, width: SCREEN_WIDTH, height: 44))
view.backgroundColor = UIColor.clear
let toolBar = UIToolbar(frame: CGRect(x: 0, y: 0, width: SCREEN_WIDTH, height: 44))
toolBar.barStyle = .default
view.addSubview(toolBar)
弊端: 1. 固定高度44px, 不可改变; 2. 顶部有0.5像素高度的黑线, 如果不需要, 需要手动去掉.
方法二: 使用UIVisualEffectView
通过UIBlurEffect设置style, 有四种: extraLight, light, dark, regular, prominent, 后两者要求10.0以后才可以使用;
代码:
let effect = UIBlurEffect(style: .extraLight)
let visualEffectView = UIVisualEffectView(effect: effect)
visualEffectView.frame = CGRect(x: 0, y: 200, width: SCREEN_WIDTH, height: 100)
self.view.addSubview(visualEffectView)