我知道这个问题看起来与这里的其他问题相同,但是他们都没有说关于ios4和ios5之间不兼容的任何事情。

在我的应用程序中,我想自定义导航栏的模式,但是我的部署目标是ios4,因此我在appDelegate.m的实现上方使用下面的代码来做到这一点:

@implementation UINavigationBar (CustomImage)

- (void)drawRect:(CGRect)rect {
UIColor *color = [UIColor blackColor];
UIImage *image = [UIImage imageNamed: @"nav_bar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
self.tintColor = color;
}

@end


当我使用4.3模拟器运行该应用程序时,它可以正常运行,但是当我在ios5中进行模拟时,它不起作用,导航栏会恢复为默认颜色。

谢谢。

最佳答案

我建议在iOS4上运行时使用您现有的代码,并使用新的iOS5功能来自定义iOS5下的栏。

看到这里:UINavigationBar's drawRect is not called in iOS 5.0

关于ios - iOS 4中的导航栏自定义在iOS5中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8255437/

10-10 00:37