Je suis intéressé à laisser mes utilisateurs copier le texte qu'ils ont entré dans le tampon coupé et pâte, mais j'aimerais faire cela comme HTML. p>
est une telle chose encore possible? Ou dois-je utiliser un format MIME? (Je n'ai aucune idée.) P>
Merci. P>
4 Réponses :
Le code suivant obtiendra votre HTML hors de votre application et dans l'application Mail d'Apple. La documentation ne vous donne pas beaucoup d'aide à ce sujet, donc en partie, il s'agit d'examiner les applications d'Apple sur la pâte et ensuite ingénierie inverse. Cette solution s'appuie sur un Stackoverflow Post - Suivi des liens là-bas pour plus d'arrière-plan.
NSLog(@"Place HTML on the pasteboard"); UIPasteboard* pasteboard = [UIPasteboard generalPasteboard]; NSString *htmlType = @"Apple Web Archive pasteboard type"; // example html string NSString* htmlString = @"<p style=\"color:gray\"> <a href=@\"http://itunes.apple.com/gb/app/paragraft/id412998778?mt=8\">Paragraft</a><br><em>Less than a word processor, more than plain text</em>"; NSMutableDictionary *resourceDictionary = [NSMutableDictionary dictionary]; [resourceDictionary setObject:[htmlString dataUsingEncoding:NSUTF8StringEncoding] forKey:@"WebResourceData"]; [resourceDictionary setObject:@"" forKey:@"WebResourceFrameName"]; [resourceDictionary setObject:@"text/html" forKey:@"WebResourceMIMEType"]; [resourceDictionary setObject:@"UTF-8" forKey:@"WebResourceTextEncodingName"]; [resourceDictionary setObject:@"about:blank" forKey:@"WebResourceURL"]; NSDictionary *containerDictionary = [NSDictionary dictionaryWithObjectsAndKeys:resourceDictionary, @"WebMainResource", nil]; NSDictionary *htmlItem = [NSDictionary dictionaryWithObjectsAndKeys:containerDictionary,htmlType,nil]; [pasteboard setItems: [NSArray arrayWithObjects: htmlItem, nil]]; // This approach draws on the blog post and comments at: // http://mcmurrym.wordpress.com/2010/08/13/pasting-simplehtml-into-the-mail-app-ios/
Merci, je vais essayer ça.
J'adore absolument cette méthode de création de contenus basés sur HTML que vous pouvez coller dans d'autres applications au centre HTML, comme le courrier. Cependant, j'ai remarqué que la solution ci-dessus par Matthew Elton ne permettait que la pâte de pâte à coller sur des applications au centre de HTML. Essayer de coller le même contenu dans l'application Notes par exemple, échouerait. p>
J'ai pris les conseils de ce message: https://stackoverflow.com/a/1078471/351810 et peut Maintenant collez avec succès des versions de texte HTML et de texte brut du contenu que je veux. p>
Cela fonctionnait parfaitement sur iOS 4, mais lorsque je l'ai essayé sur iOS 5, le HTML semble un peu cassé. Je peux coller avec succès \ \ liens, mais le formatage comme l'audacieux et la couleur semble être ignoré.
Cette solution met à la fois une extrémité HTML et une représentation de texte brut dans la pâte de la pâte: il utilise -Stringbyreplacingocurencesofregex: code> de
Dans une certaine mesure, son travail, mais cela me donne le résultat souhaité. Tinypique .Com / View.php? Pic = 2YW8TQQ & S = 8 # .UVK-RPYKGNU Je ne sais pas pourquoi il n'a pas éliminé l'étiquette HTML.?
Voici mon code Pastebin.com/rg4qwuek toute suggestion sera achetée.Merci
Lorsque vous passez dans le débogueur, plaine code> a-t-il la représentation de texte correcte à la fin de la méthode?
quand je nslog (@ "texte simple% @", plaine); Il me montre le même résultat
Ensuite, la regex pour dépouiller les balises HTML ne fonctionne pas. Peut-être qu'un problème de codage lors de la copie du code? Pour valider, définissez uni code> sur du texte brut. Il devrait être collé dans des champs plaints tels que un
uisearchbar code>.
@Ortwingentz - Votre solution fonctionne toujours bien. Je viens de mettre à jour une ligne qui utilisait "DatafromPropertylist" à Data = [NSPropertylistserialization DatawithPropertylist: Format de dict: NSPropertylistXMLFormat_v1_0 Options: 0 Erreur: nil]; Parce qu'en 2018, cette fonction a été obsolète.
Merci, @mayankkumar, corrigé.
J'utilise W3schools. J'ai coupé et coller mon code HTML sur son code d'exemple, sur l'un de leurs nombreux tutoriels "Essayez-vous", puis utilisez leur bouton "Exécution". P>
Whoops, j'utilise "Afficher la source de page" de n'importe quel navigateur pour obtenir le HTML. Mais cela utilise Windows. J'espère que cela aide quelqu'un d'autre.