【问题标题】:Mailcomposer with custom Navigationbar带有自定义导航栏的 Mailcomposer
【发布时间】:2011-12-29 12:17:09
【问题描述】:

我面临一个新问题。

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

任何想法!!!

【问题讨论】:

    标签: iphone ios uinavigationbar mfmailcomposer


    【解决方案1】:

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

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

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

    【讨论】:

    • 在这种情况下,我面临另一个问题。我将图像添加到 UINavigation 栏,还添加了 UINavigationBar 按钮,但添加图像按钮后不可见:(
    • 可能图像被绘制在按钮上方,这就是按钮不可见的原因。
    • 添加导航图像和按钮的顺序是首先我将图像添加到导航栏,然后将按钮添加到导航栏。请建议如何解决此问题。
    猜你喜欢
    • 2013-09-25
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多