【发布时间】:2012-05-21 17:13:53
【问题描述】:
我正在寻找向用户显示 MIME 消息的最佳方式。实际上,它不是电子邮件消息,而是封装在 MIME 正文中的新闻组 (NNTP) 消息。目前我在 UILabel 中显示它,但有几个问题,例如回复和内部链接的引用。将其显示为类似于 Apple 的内置电子邮件应用程序会很棒。
有人对此有什么建议吗?
【问题讨论】:
标签: iphone objective-c ios5 uiview uilabel
我正在寻找向用户显示 MIME 消息的最佳方式。实际上,它不是电子邮件消息,而是封装在 MIME 正文中的新闻组 (NNTP) 消息。目前我在 UILabel 中显示它,但有几个问题,例如回复和内部链接的引用。将其显示为类似于 Apple 的内置电子邮件应用程序会很棒。
有人对此有什么建议吗?
【问题讨论】:
标签: iphone objective-c ios5 uiview uilabel
好的,我已经从邮件中删除了 MIME 标头,并使用 ViewDidLoad 中的以下代码设置了基本的 HTML 结构...
//setting up html body
NSMutableString *body = [[NSMutableString alloc] init];
NSString *head = @"<HTML><HEAD></HEAD><body>";
NSString *footer = @"</body></HTML>";
//css settings
NSMutableString *css = [[NSMutableString alloc] init];
[css appendString:@"word-wrap: break-word;"];
[css appendString:@"font-family: 'Helvetica', Verdana, Arial, serif;"];
[css appendFormat:@"font-size: 11pt;"];
//building html string
[body appendString:head];
[body appendFormat:@"<div style=\"%@\">", css];
NSString *HTMLbody = [MYPLAINTEXTBODYSTRING stringByReplacingOccurrencesOfString:@"\n" withString:@"<br/>"];
[body appendString:HTMLbody];
[body appendString:@"</div>"];
[body appendString:footer];
self.MYSTRINGBODYPROPERTY = body;
...并在 UIWebView 中加载之前创建的 body。
[[[bodyWebView subviews] lastObject] setScrollEnabled:NO];
[bodyWebView loadHTMLString:self.body baseURL:nil];
[bodyWebView sizeToFit];
现在一切看起来都类似于 Apples Mail App。谢谢。
【讨论】:
虽然我没有尝试过,但我想WebView 可能是处理这个问题的最佳选择。
【讨论】: