72 votes

Comment définir l'objet du courrier dans UIActivityViewController? Et aussi Twitter partage la compression de texte?

Je souhaite définir le sujet du partage des e-mails dans UIActivityViewController et également partager sur Twitter. Je sais sur Twitter si nous voulons partager - nous avons besoin de compresser le texte à 140 caractères. J'ai vérifié de nombreuses solutions SO, mais rien ne fonctionne.

Ce problème est-il résolu dans les dernières versions iOS? Toute autre "solution de travail"?

94voto

emreoktem Points 845

Vérifiez ci-dessous le code de l'email pour configurer l'objet de l'email:

 UIActivityViewController* avc = [[UIActivityViewController alloc] initWithActivityItems:@[@"Your String to share"]
                                  applicationActivities:nil];
[avc setValue:@"Your email Subject" forKey:@"subject"];

avc.completionHandler = ^(NSString *activityType, BOOL completed) {
    // ...
};
 

Ici la ligne

[avc setValue: @ "Votre sujet de courrier électronique" pourKey: @ "sujet"];

Définit le sujet comme "Votre sujet de courrier électronique" si l'utilisateur sélectionne l'option de courrier électronique dans UIActivityViewController.

J'espère que ça aide ...

91voto

Tim Arnold Points 2653

Il semble que la solution d'emreoktem envoie setValue:forKey: au UIActivityViewController - soit sans papiers.

Sur iOS 7 et versions ultérieures, vous pouvez implémenter la méthode activityViewController:subjectForActivityType: dans un objet conforme au protocole UIActivityItemSource pour le faire de manière documentée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X