He visto este (formato de Imagen que se muestra a continuación) de la opción de compartir en la mayoría de las aplicaciones de iOS que soporta iOS 7.
Hay un código predeterminado/marco para poner en práctica esta opción de compartir como se muestra en la imagen de abajo?

Intercambio predeterminado en iOS 7

InformationsquelleAutor Spidy | 2013-10-30

6 Comentarios

  1. 53

    Lo que usted está buscando es el UIActivityViewController.

    Desde que usted hizo una pregunta general, no puedo hacer más que dar un enlace para la documentación

  2. 16

    Además a la aceptación de la respuesta, una pequeña pieza de código de ejemplo

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

    Llamada shareText, dejar las cosas que usted no desea compartir en nil.

    [self shareText:@"Hello world" andImage:nil andUrl:nil];
  3. 1

    UIActivityViewController es lo que usted está buscando.

    Puede especificar cualquiera de los elementos o de las aplicaciones

    UIActivityViewController *actCont = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
  4. 1

    Sólo utilice el siguiente código para Compartir Predeterminada. Usted puede capaz de añadir más elementos en shareItems matriz como por su exigencia.

    NSMutableArray *shareItems = [[NSMutableArray alloc] initWithObjects: 
                                     @"Hello", 
                                     [UIImage imageNamed:@"your_image.png"], 
                                     @"http://google.com/", nil];
    [self shareItemToOtherApp:shareItems];

    Siguiente método es para compartir predeterminada de Texto o Imágenes en otras Aplicaciones:-

    -(void)shareItemToOtherApp:(NSMutableArray *)shareItems{
        UIActivityViewController *shareController = [[UIActivityViewController alloc]
                                                     initWithActivityItems: shareItems applicationActivities :nil];
    
        [shareController setValue:@"Sharing" forKey:@"subject"];
        shareController.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeSaveToCameraRoll];
    
        shareController.completionHandler = ^(NSString *activityType, BOOL completed)
        {
            //NSLog(@" activityType: %@", activityType);
            //NSLog(@" completed: %i", completed);
        };
    
        [self presentViewController: shareController animated: YES completion: nil];
    }

    Si quieres hacer Personalizado Compartir hoja, a continuación, utilizar el siguiente código. Para esto, usted tiene que importar <Social/Social.h> marco.

    -(void)shareOnFacebook:(id)sender {
        if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
        {
            SLComposeViewController *faceSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
            //NSLog(@"%@", messageField.text);//This returns the appropriate string
            [faceSheet setInitialText:@"Hellooooooo"];
            //The facebook VC appears, but initial text is not set to messageField.text
            [self presentViewController:faceSheet animated:YES completion:nil];
        }
        else
        {
            NSLog(@"Please first install Application and login in Facebook");
        }
    }
    
    -(void)shareOnTwitter:(id)sender {
        if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
        {
            SLComposeViewController *tweetSheet = [SLComposeViewController
                                                   composeViewControllerForServiceType:SLServiceTypeTwitter];
            [tweetSheet setInitialText:@"Hello"];
            [self presentViewController:tweetSheet animated:YES completion:nil];
        }
        else{
            NSLog(@"Please first install Application and login in Twitter");
        }
    }

    Esperanza, esto es lo que estás buscando. Cualquier preocupación de volver a mí. 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here