UIActivityViewController anpassen text auf der Grundlage der ausgewählten Aktivität
Möchte ich anpassen, text für die gleichen Informationen, aber wenn ich Teile es auf Facebook, die ich nicht verwenden will, der twitter-hash-tags oder @username Schema...
Wie kann ich diversifizieren text für das teilen basiert auf dem sharing-Dienst verwendet werden würde?
Natürlich bin ich mit UIActivityViewController:
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[shareText, shareURL] applicationActivities:nil];
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstelle der Weitergabe des text-strings in die
initWithActivityItems
aufrufen, übergeben Sie in Ihren eigenen sub-Klasse derUIActivityItemProvider
Klasse und bei der Implementierung desitemForActivityType
- Methode es wird der Freigabe-Dienst als "activityType" parameter.Können Sie dann wieder die benutzerdefinierte Inhalte von dieser Methode.
Nahm ich diese Antwort und machte eine einfache Klasse für Sie. Die Standard-Nachricht zu sehen sein wird durch den Austausch von Steckdosen anderen als Twitter, und Twitter-Worten innerhalb der hashWords-array erscheint mit hashes, wenn Sie vorhanden sind in der Standard-Nachricht. Ich dachte, ich würde teilen, es für alle anderen, die es braucht. Dank Christopher!
Verwendung:
Header:
Umsetzung:
self.activityType == UIActivityTypePostToTwitter
werden[self.activityType isEqualToString:UIActivityTypePostToTwitter]
oder kann man Sie sicher verwenden Sie die Zeiger?Rasche Umsetzung Beispiel für eine UIActivityItemProvider Unterklasse. Die option zum kopieren wird nur das Kennwort, andere Leistungsarten wird die volle Freigabe von text. Sollte für eine einfache Anpassung für unterschiedliche Anwendungsfälle. Kredit Cristopher & NickNack für Ihre Antworten.
Verwendung: