是否可以对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属性,并将通过AirDrop发送的数据设置为schemeURL属性。这个是可能的吗?提前谢谢。
发布于 2013-11-25 20:19:11
你可以子类化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";}
https://stackoverflow.com/questions/20176574
复制相似问题