遇到這個主要是因為看到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)