Possible Duplicate:
How to add background image on iphone Navigation bar ?
iOS - 纽约时报是如何做这种自定义顶部导航栏样式的?
那么,最底层的呢?
最佳答案
@ludwigschubert 的解决方案确实不适用于 iOS 5。覆盖 -drawRect:
也不起作用,因为它甚至没有被调用。
从 iOS 5 开始,导航栏由 UINavigationBarBackground
和 UINavigationItemView
组成。还有其他两种方法可以让它发挥作用。
在 index 1 而不是 0 处插入您的自定义 ImageView 。这使它显示在原生背景图像上方,同时保持在按钮下方。
利用 iOS 5 的 UIAppearance协议(protocol)。您可以为所有设置背景图片
[[UINavigationBar 外观] setBackgroundImage:myImage forBarMetrics:UIBarMetricsDefault]
或仅用于一个导航栏:
[navigationController.navigationBar setBackgroundImage:myImage forBarMetrics:UIBarMetricsDefault]
在为纵向和横向开发 iPhone 应用程序时,请确保提供两个图像(UIBarMetricsDefault 和 UIBarMetricsLandscapePhone)。
关于objective-c - 自定义导航栏样式 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5575821/