99 votes

Comment afficher la feuille par défaut iOS part 6 action avec options sur actions disponibles ?

Certaines applications montrent un défaut d'action de la feuille dans iOS 6 avec options de partage.

Cadre Social n'a que deux classes, une pour la composition et l'autre pour la demande.

Ce que j'ai trouvé est bien sur la composition d'un service particulier avec SLComposeViewController et avant de montrer ce que je doit faire la requête à la main si le service est disponible. Et puis j'ai aussi de créer ma propre fiche action avec ses propres icônes.

Comment ces applications montrent que cette valeur par défaut des options sur actions fiche action dans iOS 6? Ou sont-ils à l'aide d'un framework open source?

224voto

0x7fffffff Points 40133

Le UIActivityViewController a déclaré dans l'autre réponse qui rend cette triviale. Tout ce que vous avez à faire est de spécifier le texte/l'image/l'URL que vous souhaitez partager et de présenter l'activité de-vue-contrôleur modal et iOS affiche automatiquement toutes les lois de partage de services. Exemples:

Objective-C

- (void)shareText:(NSString *)text andImage:(UIImage *)image andUrl:(NSURL *)url
{
    NSMutableArray *sharingItems = [NSMutableArray new];

    if (text) {
        [sharingItems addObject:text];
    }
    if (image) {
        [sharingItems addObject:image];
    }
    if (url) {
        [sharingItems addObject:url];
    }

    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil];
    [self presentViewController:activityController animated:YES completion:nil];
}

Swift

func shareTextImageAndURL(#sharingText: String?, sharingImage: UIImage?, sharingURL: NSURL?) {
    var sharingItems = [AnyObject]()

    if let text = sharingText {
        sharingItems.append(text)
    }
    if let image = sharingImage {
        sharingItems.append(image)
    }
    if let url = sharingURL {
        sharingItems.append(url)
    }

    let activityViewController = UIActivityViewController(activityItems: sharingItems, applicationActivities: nil)
    self.presentViewController(activityViewController, animated: true, completion: nil)
}

41voto

Davide Points 261

Ajouter cette option pour utiliser le `` .

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