2017-02-27 51 views
0

爲了統一我從iOS應用中分享信息的方式,我嘗試使用UIActivityViewController。迄今爲止很好,除了一個細節。我無法乾淨地處理HTML內容郵件的情況。我讀了幾篇關於這個主題的文章,但沒有什麼令人滿意的。帶HTML內容的郵件/ UIActivityViewController

問題出在這裏,我該如何幹淨地處理HTML內容的郵件的情況?

在這樣的情況下放棄使用UIActivityViewController並返回到傳統的MFMailComposeViewController會更好嗎?

回答

0

你可以嘗試像下面

NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; 
NSString* html = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; 

NSArray* dataToShare = @[html]; 
UIActivityViewController* activityViewController =[[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:nil]; 
activityViewController.excludedActivityTypes = @[UIActivityTypeAirDrop]; 
UIWindow *keyWindow = [[[UIApplication sharedApplication] delegate] window]; 
[keyWindow addSubview: self.view]; 
[self presentViewController:activityViewController animated:YES completion:^{}]; 

您也可以在HTML源代碼寫入到本地文件,例如,my_mail_message.html,然後再建一個NSURL對象與該文件,例如,[NSURL URLWithString:@"file://my_mail_message.html"],然後使用NSURL對象作爲您提供給initWithActivityItems:applicationActivitiesactivityItems數組的一個元素。希望能幫助到你!

+0

這比使用舊的MFMailComposeViewController複雜得多。所以這基本上意味着沒有辦法用UIActivityViewController清理處理HTML郵件內容。 – Michel