2012-01-28 97 views
2

我的应用程序具有导航栏的自定义背景。所以我做了这样的类别MFMailComposeViewController navigationBar

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

在我的应用程序中,我必须使用MFMailComposeViewController。我创建像

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 

但苹果的文档指出

重要的邮件撰写界面本身不是定制的,不得通过您的应用程序进行修改。另外,在呈现界面之后,您的应用程序不允许对电子邮件内容进行进一步更改。用户仍然可以使用界面编辑内容,但程序化更改将被忽略。因此,您必须在呈现界面之前设置内容字段的值。

所以这意味着我不能让我的“image.png”作为邮件编辑器视图控制器的导航栏背景。

如何做到这一点?

感谢

回答

2

使用标准的苹果MFMailComposeViewController你不能,简单地说。您通常会以模态方式呈现它,因此无论如何它会完全覆盖您的视图。

如果您想要自定义的组合表,您必须将其创建为具有自定义视图的自定义控制器。您还需要一个内置于您的应用中的邮件服务器,或者您可以点击发送邮件给您的服务器。

出于安全原因,Apple限制您可以使用MFMailComposeViewController执行的操作。

如果我可以有更多的帮助,请不要问:)

+1

“image.png”位于mailComposer导航栏上。我想摆脱它 – user1078065 2012-01-28 17:57:18

+0

对不起,我可能误解了这一点。所以你已经把它放在控制器上了..?如果是这种情况,那么是的,你必须在提交之前停止这样做,因为你很可能会被拒绝。虽然我所说的创建自定义应用仍然有效。 – 2012-01-28 18:00:19

+0

很奇怪是不是? – user1078065 2012-01-28 18:02:51