W końcu znajduję kogoś, kto borykał się z tym samym problemem niż ja.Podklasa i używanie UIActivityItemProvider z UIActivityViewController
UIActivityViewController customize text based on selected activity
Chcę dostosować share z działalnością UIActivityViewController. Dobrą odpowiedź jest następująca:
„Zamiast przechodzącą ciągi tekstowe do initWithActivityItems połączenia, przechodzą w swoim własnym podklasy klasy UIActivityItemProvider i kiedy wdrożyć metodę itemForActivityType zapewni się usługa współużytkowania jako parametr "activityType"
Możesz następnie zwrócić niestandardową treść z tej metody. "
Rozumiem sztuczek, ale nie dostaję sposób to zrobić ...
Zrobiłem to jako podklasy:
@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
Ale ja nie wiem co zrobić teraz w mojej oryginalnej 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];
}
W jaki sposób można zwrócić wiele obrazów/wideo za pomocą tej metody "przedmiotu"? – Suran