【问题标题】:How to change message details (email body) in MFMailComposeViewController?如何在 MFMailComposeViewController 中更改邮件详细信息(电子邮件正文)?
【发布时间】:2013-04-02 21:27:57
【问题描述】:

我似乎对一些看起来应该很简单的事情不以为然!

我现在如何使用用户在 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,

如何更改格式以使其显示

是的,

不,

也许,

没办法。

再次感谢您的宝贵时间!

【问题讨论】:

  • 刚刚编辑了我的答案。

标签: iphone ios6 nsuserdefaults mfmailcomposeviewcontroller xcode4.6


【解决方案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 循环之后添加的那一行将从字符串中删除最后三个字符,即两个换行符和逗号。

【讨论】:

  • 您好,非常感谢您的回复。您的代码几乎是正确的!它是一个以 NSUserDefaults 结尾的字符串数组,因此您的第二个代码块是理想的。最后一件事,你知道我怎么能改变那个代码,以便a)stings在一个垂直的顶部出现(我已经用一个例子更新了这个问题)b)最后一个字符串在它之后有一个句号逗号?再次感谢您的宝贵时间!
  • 您好,非常感谢您的帮助,非常感谢!您的更新完美地回答了我的问题。如果您碰巧有空闲时间,您还可以看看我的另一个未回答的问题 - “Xcode UIImageView 布局问题”(只需浏览我的个人资料)。我敢肯定这也会很愚蠢,但到目前为止我还没有答案!我认为它已经通过了人们。再次感谢您的帮助。
【解决方案2】:

试试这个方法

- (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];

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 2014-04-25
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 2018-08-15
    • 2020-09-14
    • 1970-01-01
    • 2011-12-01
    相关资源
    最近更新 更多