ios - intentos - me olvide el codigo de restricciones del iphone
Uso compartido predeterminado en iOS 7 (6)
He visto este formato (imagen que se muestra a continuación) de la opción de compartir en la mayoría de las aplicaciones de iOS que admiten iOS 7. ¿Existe un código / marco predeterminado disponible para implementar esta opción compartida como se muestra en la imagen a continuación?
El controlador en la imagen que ha publicado es UIActivitiyViewController, este es un enlace a la documentación de la clase
UIActivityViewController
es lo que estás buscando.
Puede especificar los elementos o las aplicaciones
UIActivityViewController *actCont = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
Lo que estás buscando es el UIActivityViewController
.
Como hizo una pregunta general, no puedo hacer más que darle un enlace a la documentación.
Además de la respuesta aceptada, un pequeño fragmento 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];
}
Llame a shareText
, deje las cosas que no desea compartir en nil
.
[self shareText:@"Hello world" andImage:nil andUrl:nil];
Simplemente use el siguiente código para compartir por defecto. Puede agregar más elementos en la matriz shareItems
según su requisito.
NSMutableArray *shareItems = [[NSMutableArray alloc] initWithObjects:
@"Hello",
[UIImage imageNamed:@"your_image.png"],
@"http://google.com/", nil];
[self shareItemToOtherApp:shareItems];
El siguiente método es para compartir de forma predeterminada texto o imagen 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 desea crear una hoja de Uso compartido personalizado , utilice el siguiente código. Para esto, debe importar el marco <Social/Social.h>
.
-(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");
}
}
Espero, esto es lo que estás buscando. Cualquier preocupación vuelve a mí. :)
algún buen código de ejemplo: ¿Cómo se muestra la hoja de acción compartida predeterminada de iOS 6 con opciones de compartir disponibles?
Sé que esta pregunta es particular para iOS 7, y el ejemplo de código especifica iOS 6, pero AFAICT son muy similares, uno podría encontrar el código de ejemplo tan útil como yo.