我想知道我们如何创建一个完全透明的UINavigationBar(alpha = 0),但BarButton Item仍然可见。
我想拥有一个Invisible NavigationBar,但我需要BarButtonItem可见。
答案 0 :(得分:3)
截图
夫特
self.navigationController?.navigationBar.setBackgroundImage(UIImage.new(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage.new()
OC
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
答案 1 :(得分:1)
我找到了一种方法:
创建UINavigationBar
的子类并将其提供给导航控制器以使用它。
class NavigationBar: UINavigationBar {
// An empty implementation will make the view to be transparent
override func drawRect(rect: CGRect) {
}
}
如果您使用的是InterfaceBuilder,则可以选择导航控制器,然后选择其导航栏,然后相应地更改其类。
如果您以编程方式执行此操作:
let navController = UINavigationController(navigationBarClass: NavigationBar.self, toolbarClass: nil)
...
UIBarButtonItem的结果:
希望有所帮助
旧答案:
我很久以前就试过了(ios6)。基本上它是可能的。
使导航栏的颜色为UIColor.clearColor()
。按钮需要在UIBarButton中自定义UIViews,以便按照您想要的方式显示。我想你也需要调整导航栏后面的视图颜色。