如何获取 uiview 的 uinavigationbar 的默认样式

how to get the default style of uinavigationbar for a uiview

我正在尝试使 uiview 看起来像 ios 8 中的默认 uinavigationbar。

我不想对这些值进行硬编码,所以想采用 uinavigationbar 颜色、高度、宽度和底部边框,并将它们应用于自定义 uiview。

有什么办法可以实现吗?

  self.headerBar.backgroundColor = self.navigationController.navigationBar.backgroundColor;

以上方法我都试过了,还是不行。

K我终于不得不结合以下

[UIColor colorWithRed:(247/255.0) 绿色:(247/255.0) 蓝色:(247/255.0) alpha:1];

对于 uiview 颜色,我不得不将另一个 uiview 作为子视图添加到具有较小高度的原始视图中,这样它看起来像一个边框,并给它颜色深灰色和 alpha 0.4f。这里要注意的一件事是边框也可以使用图层创建,但默认情况下不会处理方向变化。

至于高度宽度,只是根据要附加此自定义导航栏的超级视图边界给出了高度宽度。

您可以使用 UIToolBar 并相应地设置其属性,如 UINavigationBartintColorbarTintColortranslucent 等..

注:UIToolBar继承自UIView


如果您正在使用 UIView 并且想要获得导航栏颜色,那么您应该使用 barTintColor 属性 而不是 backgroundColor

self.headerBar.backgroundColor = self.navigationController.navigationBar.barTintColor;