在MFMailComposeViewController中更改导航栏标题

时间:2012-08-31 13:03:59

标签: ios mfmailcomposeviewcontroller navigationbar

似乎我无法更改导航栏上的标题,该标题设置为电子邮件的主题(在本例中为“我的主题”)。在这种情况下,我想摆脱标题,要么使用空字符串作为标题,要么使标题不可见。

MFMailComposeViewController *mfViewController = [[MFMailComposeViewController alloc] init];
mfViewController.mailComposeDelegate = self;       
[mfViewController setSubject:[NSString stringWithFormat:@"My Subject"]];
[mfViewController setMessageBody:[self emailBody] isHTML:NO];
[mfViewController setTitle:@""];

1 个答案:

答案 0 :(得分:1)

你提出了ModalViewController

[self presentModalViewController:controller animated:YES]; // Existing line

添加

[[[[controller viewControllers] lastObject] navigationItem] setTitle:@"Set the title"];

我相信这是iOS4带来的某种保护。

此处明确指出,您不得更改Apple提供的界面。

http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMailComposeViewController_class/Reference/Reference.html

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

我搜索了论坛,有些人拒绝了他们的应用,所以我猜你应该不要这样做。

希望它有所帮助。快乐的编码:)