Yeni UIActionShield'larım paylaşmak üzere yeni UIActivityViewController'ı kullanmaya çalışıyorum, ancak bir sorunla karşılaşıyorum.UIActivityViewController - Yalnızca belirli etkinlikler için bir URL ekleyin
5 aktivitem var, Mesaj, Email, Fotokopi, Twitter ve Facebook. Ben sadece göstermek istiyorum,
ActivityProvider *aProvider = [[ActivityProvider alloc] init];
aProvider.facebook = facebook;
aProvider.twitter = twitter;
aProvider.urlScheme = URL;
NSArray *Items = @[aProvider, sharedURL];
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:Items applicationActivities:Nil];
activityVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll, UIActivityTypePostToWeibo];
[self presentViewController:activityVC animated:TRUE completion:nil];
Ancak:
- (id) activityViewController:(UIActivityViewController *)activityViewController
itemForActivityType:(NSString *)activityType
{
if ([activityType isEqualToString:UIActivityTypePostToTwitter])
return twitter;
if ([activityType isEqualToString:UIActivityTypePostToFacebook])
return facebook;
if ([activityType isEqualToString:UIActivityTypeMessage])
return urlScheme;
if ([activityType isEqualToString:UIActivityTypeMail])
return urlScheme;
if ([activityType isEqualToString:UIActivityTypeCopyToPasteboard])
return urlScheme;
return nil;
}
Ve bu benim görünümünde denetleyicisi: Zaten bu özel UIActivityProvider alt sınıfında bu aracılığıyla, farklı bir metin göstermek için nasıl düşündüm Facebook ve Twitter'daki URL (sharedURL) paylaşır, iletiyi, e-postayı veya kopyayı paylaşmaz. Bunu başarmanın herhangi bir yolu var mı?