2012-11-08 5 views
31

auf iOS 6 eine Änderung war, dass, wenn Sie es teilen etwas wollen eine Aktion Blatt ähnlich wie diese bringt:Social Aktion Blatt (wie auf iOS 6)

Ich habe ein paar andere gesehen Apps, die dies verwenden, gibt es eine native Möglichkeit, dies zu tun, ohne ein benutzerdefiniertes Aktionsblatt zu erstellen?

Danke!

Antwort

79
NSString *textToShare = @"your text"; 
    UIImage *imageToShare = [UIImage imageNamed:@"yourImage.png"]; 
    NSArray *itemsToShare = @[textToShare, imageToShare]; 
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil]; 
    activityVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll]; //or whichever you don't need 
    [self presentViewController:activityVC animated:YES completion:nil]; 

Siehe UIActivityViewController Dokumentation: https://developer.apple.com/documentation/uikit/uiactivityviewcontroller

+1

Ah danke, genau das, was ich brauchte – MCKapur

+0

So, wie Sie diesen Code implementieren ... –

+0

Ziemlich viel wie es ist, in welchem ​​Verfahren relevant ist Sie (dh Schaltflächenaktion, Tabellenzeile ausgewählt). Ersetzen Sie einfach 'Ihr Text', 'yourImage.png' und alle Aktivitäten, die Sie nicht möchten in die excludedActivityTypes-Zeile (siehe Dokumentationslink oben für die vollständige Liste.) Wenn das Gerät des Benutzers ist nicht in der Lage, eine bestimmte Aktivität zu verwenden, wird o angezeigt r nicht entsprechend. Zum Beispiel wird Weibo nicht auf meinem Gerät in den USA oder im Nahen Osten angezeigt. Twitter wird nicht angezeigt, wenn sie Twitter nicht auf ihrem Gerät usw. verwenden. – j9suvak