iphone - 带有自定义导航栏的 Mailcomposer

标签 iphone ios uinavigationbar mfmailcomposer

我遇到了一个新问题。

我的应用程序中有自定义导航 Controller 。我必须向导航栏添加一个图像,并且我在我的 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 的导航栏也更改为我不想更改的自定义导航栏。

任何想法!!!

最佳答案

通过向 UINavigationBar 添加一个类别,您将向 UINavigationBar 的所有实例添加一个方法。

由于您覆盖了 drawRect:,这意味着无论何时任何 导航栏想要绘制自身,它都使用您的方法而不是标准的drawRect:

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

关于iphone - 带有自定义导航栏的 Mailcomposer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667787/

相关文章:

ios - 如何在 Xcode 7 中将 libz.1.2.3.dylib 添加到 iOS 9.1?

android - 通过 xmpp 或 websocket 进行即时消息传递

swift - 更改 UINavigationBar 的分隔符颜色

iphone - 今天的 NSTimeInterval,时间为零(午夜)

iphone - 如何在没有任何缓存的情况下为一个实例使用 SDWebImage

ios - 核心数据获取请求错误

iphone - 将 UITabbarController 与 pushViewController 一起使用

iOS - 本地通知 - 自定义振动或振动更长时间

ios - 在 Interface Builder 中更改导航栏标题字体

ios - 为什么纵向和横向的顶部栏高度不同?