调用系统的分享功能代码很简单,只需要经过两步就可以完成调用:
1,
UIImage *image = [UIImage imageNamed:@"m1.png"];
UIActivityViewController *activityCtr = [[UIActivityViewController alloc] initWithActivityItems:@[image] applicationActivities:nil];
2,
[self presentViewController:activityCtr animated:YES completion:nil];
但是我们如果想要取消其他功能,只要AirDrop功能,我们可以加上排除筛选选项
3,
NSArray *activities = @[UIActivityTypePostToFacebook,
UIActivityTypePostToTwitter,
UIActivityTypePostToWeibo,
UIActivityTypeMail,
UIActivityTypeMessage,
UIActivityTypePrint,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact];
[activityCtr setExcludedActivityTypes:activities];
完整demo代码如下:
- (IBAction)airDropAction:(id)sender {
UIImage *image = [self createRandomImage];
UIActivityViewController *activityCtr = [[UIActivityViewController alloc] initWithActivityItems:@[image] applicationActivities:nil];
// exclude activity types which can be used after iOS6
NSMutableArray *excludedActivities = [self iOS6Activities].mutableCopy;
[excludedActivities addObject:UIActivityTypeAddToReadingList];
[excludedActivities addObject:UIActivityTypePostToFlickr];
[excludedActivities addObject:UIActivityTypePostToTencentWeibo];
[excludedActivities addObject:UIActivityTypePostToVimeo];
[activityCtr setExcludedActivityTypes:excludedActivities];
[self presentViewController:activityCtr
animated:YES
completion:nil];
}
- (UIImage *)createRandomImage {
// NSUInteger num = arc4random() % 40 + 1;
// NSString *filename = [NSString stringWithFormat:@"m%lu", (unsigned long)num];
UIImage *image = [UIImage imageNamed:@"m1.png"];
return image;
}
- (NSArray *)iOS6Activities {
NSArray *activities = @[UIActivityTypePostToFacebook,
UIActivityTypePostToTwitter,
UIActivityTypePostToWeibo,
UIActivityTypeMail,
UIActivityTypeMessage,
UIActivityTypePrint,
UIActivityTypeSaveToCameraRoll,
UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact];
return activities;
}