我正在尝试使用UIActivityViewController分享每个项目的不同URL。例如,对于Twitter:www.google.com;对于Facebook:www.bing.com。
我知道我可以为每个项目自定义文本,但似乎找不到为每个项目自定义URL的方法。
我已经尝试了子类化UIActivityItemProvider,但没有成功:
FILE .m
我知道我可以为每个项目自定义文本,但似乎找不到为每个项目自定义URL的方法。
我已经尝试了子类化UIActivityItemProvider,但没有成功:
FILE .m
- (id)initWithText:(NSString *)text{
if ((self = [super initWithPlaceholderItem:text])) {
self.text = text ?: @"";
self.url = @"";
}
return self;
}
- (id)item {
NSString *activityType = self.activityType;
if ([self.placeholderItem isKindOfClass:[NSString class]]) {
if ([self.activityType isEqualToString:UIActivityTypePostToFacebook]) {
self.url = kSHARELINK_FB;
} else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
self.url = kSHARELINK_TWITTER;
} else if ([activityType isEqualToString:UIActivityTypeMessage]) {
self.url = kSHARELINK_SMS;
} else if([activityType
isEqualToString:UIActivityTypeMail]){
self.url = kSHARELINK_EMAIL;
}else if ([activityType
isEqualToString:UIActivityTypePostToWeibo]){
self.url = kSHARELINK_WEIBO;
}else{
self.url = kSHARELINK_OTHER;
}
}
return self.placeholderItem;
}
文件 .h
@interface LLCustomActivityItemProvider : UIActivityItemProvider
@property (copy, nonatomic) NSString *text;
@property (copy, nonatomic) NSString *url;
- (id)initWithText:(NSString *)text;