如何在MFMailComposeViewController中更改消息详细信息(电子邮件正文)?

时间:2013-04-02 21:27:58

标签: iphone ios6 nsuserdefaults mfmailcomposeviewcontroller xcode4.6

我似乎已经堕落了一些似乎应该非常简单的东西!

如何使用用户输入NSUserDefaults的字符串填充电子邮件正文?

基本上有一个按钮其他器皿会在NSUserDetaults中输入诸如“YES”之类的刺。如何使电子邮件正文包含那些存储的字符串。

这是我目前的代码:

- (IBAction)buttonPressed:(id)sender {
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"SYS"];
[controller setMessageBody:@"How do I make this the content of NSUSERDEFAULTS?" isHTML:NO];
controller.navigationBar.barStyle = UIBarStyleBlack;
[self presentViewController:controller animated:YES completion:nil];

任何帮助将不胜感激!

谢谢!

使用您的代码,字符串显示为:Yes,No,Maybe,No way,

如何更改格式以使其显示

是的,

不,

可能,

没办法。

再次感谢您的时间!

2 个答案:

答案 0 :(得分:1)

你想要的是一个换行符,可以用\n(换行符)来实现。

NSArray *storedStrings = [[NSUserDefaults standardUserDefaults] objectForKey:@"yourStoredKey"];
NSMutableString *messageBody = [NSMutableString string];
for (NSString *aString in storedStrings) {
    [messageBody appendFormat:@"%@,\n\n", aString];
}
[messageBody deleteCharactersInRange:NSMakeRange(messageBody.length-3, 3)];
[controller setMessageBody:messageBody isHTML:NO];

我在for循环后添加的那一行将删除字符串中的最后三个字符,即两个换行符和逗号。

答案 1 :(得分:0)

试试这个方法

- (IBAction)buttonPressed:(id)sender {
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"SYS"];
[controller setMessageBody:[[nsstring stringwithformat@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"yourStoredKey"]]  isHTML:NO];
controller.navigationBar.barStyle = UIBarStyleBlack;
[self presentViewController:controller animated:YES completion:nil];