Ios UIActivityViewController中各个活动的不同活动项
是否可以为Ios UIActivityViewController中各个活动的不同活动项,ios,iphone,objective-c,uiactivityviewcontroller,Ios,Iphone,Objective C,Uiactivityviewcontroller,是否可以为UIActivityViewController中的每个活动使用不同的活动项?例如,我有以下代码: NSArray *objectsToShare = @[schemeURL, wordedString]; controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil]; // Exclude all activities ex
UIActivityViewController
中的每个活动使用不同的活动项?例如,我有以下代码:
NSArray *objectsToShare = @[schemeURL, wordedString];
controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
// Exclude all activities except AirDrop.
NSArray *excludedActivities = @[UIActivityTypePostToTwitter,
UIActivityTypePostToWeibo,
UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo];
controller.excludedActivityTypes = excludedActivities;
[self presentViewController:controller animated:YES completion:nil];
我想将要发送到Facebook的数据设置为
wordedString
属性,并将要通过空投发送的数据设置为schemeURL
属性。这可能吗?提前感谢。您可以将UIActivityItemProvider子类化,并可以使用以下方法检查活动类型。。试试看
//- Returns the data object to be acted upon. (required)
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
NSString *theText = @"Some text for Facebook";
return theText;
}
if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
NSString *theText = @"Some text for Twitter";
return theText;
}
if ([activityType isEqualToString:UIActivityTypePostToWeibo]) {
NSString *theText = @"Some text for Weibo";
return theText;
}
if ([activityType isEqualToString:UIActivityTypeMail]) {
NSString *theText = _someText;
return theText;
}
if ([activityType isEqualToString:kYourCustomMailType]) {
NSString *theText = @"Some text for your Custom Type";
return theText;
}
return @"Some default text";
}将UIActivityItemProvider子类化主要是当您希望“提供异步的共享项”时。如果您只想自定义每个活动的有效负载,您应该创建一个符合UIActivityItemSource协议的对象。@1Pawan您好,您能确认这是否对您有效吗?您能确认这是否对您有效吗?