Ich endlich jemanden finden, der das gleiche Problem als ich konfrontiert war.Unterklasse und mit UIActivityItemProvider mit UIActivityViewController
UIActivityViewController customize text based on selected activity
Ich möchte den Inhalt Aktie mit den Aktivitäten der UIActivityViewController anpassen. Die gute Antwort ist folgende:
„Statt die Textzeichenfolgen in die initWithActivityItems Ruf vorbei, passieren in der eigenen Unterklasse der UIActivityItemProvider Klasse und wenn Sie die itemForActivityType Methode implementieren wird es die bieten Sharing Service als 'activityType' Parameter.
Sie können dann den benutzerdefinierten Inhalt von dieser Methode zurückgeben. "
Ich verstehe Tricks, aber ich bin nicht immer so, wie es zu tun ...
Ich tue dies als eine Unterklasse:
@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
Aber ich weiß nicht, was zu jetzt tut in meinem ursprünglichen Viewcontroller:
-(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];
}
Wie geben Sie mehrere Bilder/Videos über diese 'item' Methode zurück? – Suran