【发布时间】:2011-10-04 01:46:16
【问题描述】:
我在 iOS4 的应用程序中使用自定义 drawRect 函数在 UINavigationBar 上绘图,它不使用图像,仅使用 CoreGraphics。
由于您无法在 iOS5 中实现 UINavigationBar 类别中的 drawRect,Apple 建议继承 UINavigationBar。
当navigationBar 属性为只读时,如何用我在UINavigationController 中的子类替换UINavigationBar(这样它将与iOS4 和iOS5 兼容)?
@property(nonatomic, readonly) UINavigationBar *navigationBar
我根本没有在我的应用程序中使用 XIB,因此无法将 UINavigationBar 添加到 NIB 并通过 InterfaceBuilder 更改类。
【问题讨论】:
-
iOS5 提交现在开放了,很多人会想知道同样的事情。希望我的替代答案将使迁移更容易。
-
请注意,虽然接受的答案中提出的技术仍然有效(不包括#4),但在针对 iOS 6 SDK 构建时(即使针对 iOS 5),最简单、最干净且官方支持的方法现在是 Javier Soto 的回答中给出的那个。
-
你应该把接受的答案改成这个:stackoverflow.com/a/12591273/778889
标签: iphone ios cocoa-touch uinavigationcontroller uinavigationbar