0

我面临一个新问题。

我的应用程序中有自定义导航控制器。我必须将图像添加到导航栏,并且我在 AppDelegate 中使用了此代码-

@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"top-red.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, 44)];
}
@end.

这段代码对我来说很好,但是当我在我的应用程序中使用 MFMailComposer 并在按钮事件上调用它时,我看到 MFMailcomposer 的导航栏也更改为我不想更改的自定义导航栏。

有任何想法吗!!!

4

1 回答 1

3

通过向 UINavigationBar 添加类别,您正在向 UINavigationBar 的所有实例添加方法。

由于您正在覆盖drawRect:这意味着每当任何导航栏想要绘制自己时,它都会使用您的方法而不是标准drawRect:

而不是这样做,您应该只将图像添加到您想要它们的导航栏中,而不是像您在此处所做的那样全局更改它。

于 2011-12-29T12:26:38.160 回答