2012-11-08 18 views
31

na iOS 6 zmianą było to, że kiedy chcesz udostępnić coś przynosi się arkusz działania podobnego do tego:Social arkusz działania (jak w iOS 6)

Widziałem kilka innych aplikacje, które używają tego, czy istnieje sposób na zrobienie tego bez tworzenia niestandardowego arkusza akcji?

Dzięki!

Odpowiedz

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]; 

See UIActivityViewController dokumentacja: https://developer.apple.com/documentation/uikit/uiactivityviewcontroller

+1

Ach, dziękuję, dokładnie to, co potrzebne – MCKapur

+0

Więc jak można zaimplementować ten kod ... –

+0

Prawie jak jest, bez względu na sposób jest właściwy do ty (tzn. przycisk akcji, wybrany wiersz tabeli). Wystarczy, że zastąpisz "twój tekst", "twojeImage.png" i dowolne typy działań, których nie chcesz, w linię excludedActivityTypes (patrz pełna lista odnośników do dokumentacji powyżej). Jeśli urządzenie użytkownika nie może użyć określonej aktywności, pokaże o r odpowiednio. Na przykład Weibo nie wyświetla się na moim urządzeniu w USA lub na Bliskim Wschodzie; Twitter nie wyświetli się, jeśli nie używa Twittera na swoim urządzeniu itp. – j9suvak