Alla fine ho trovato qualcuno che stava affrontando lo stesso problema di me.Sottoclasse e utilizzo di UIActivityItemProvider con UIActivityViewController
UIActivityViewController customize text based on selected activity
voglio personalizzare la condivisione dei contenuti con le attività del UIActivityViewController. La buona risposta è la seguente:
"Invece di passare le stringhe di testo nelle initWithActivityItems chiamate, passare la propria sottoclasse della classe UIActivityItemProvider e quando si implementa il metodo itemForActivityType fornirà la servizio di condivisione come parametro "activityType"
È quindi possibile restituire il contenuto personalizzato da questo metodo. "
ho capito i trucchi, ma io non sto ricevendo il modo per farlo ...
ho fatto questo come una sottoclasse:
@interface SharingItems : UIActivityItemProvider
@implementation SharingItems
-(id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
// Here depending on the activityType i want to share NSString or UIImage
}
@end
Ma non so cosa fare ora nel mio viewController originale:
-(void)actionSheet
{
if ([[UIActivityViewController class] respondsToSelector:@selector(alloc)])
{
__block NSString *imgName = [[NSString alloc] initWithFormat:@"%@", _sharingUrl];
NSArray *activityItems = [NSArray arrayWithObjects:imgName, nil];
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityController animated:YES completion:nil];
__block NSString *chan = [[NSString alloc] initWithFormat:@"%@", _channel];
[activityController setCompletionHandler:^(NSString* activityType, BOOL completed)
{
if (completed)
{
}
}];
}
else
[self displayActionSheet];
}
Come si restituiscono più immagini/video tramite questo metodo 'item'? – Suran