我想为 a 中的不同服务提供不同的内容UIActivityIndicatorView
。例如,用于电子邮件的 HTML 字符串、用于 Facebook/Twitter 的标准字符串以及用于复制的图像。所有这些都发生在一个弹出窗口中。
我不认为这是可能的。当我在玩所有涉及的类时,我注意到出现在活动视图中的服务随着我提供的内容类型的变化而变化。换句话说,当我提供一个字符串时,出现了一组服务。当我提供图像时,出现了服务集 B。
接下来,我尝试同时添加字符串和图像,认为它可能会提供不同的内容,但这只是将字符串和图像都添加到服务中(例如,使用字符串创建电子邮件,然后是下图)。
这是我提供字符串值的方式(它们是 html 链接):
-(void)shareButtonTouchUpInside:(SMActionToolbarViewController*)sender{
// Reposition anchor view for UIPopoverController to point at
[self repositionAnchorViewToButtonFrame:self.actionToolbarViewController.shareButtonFrame];
// Asynch download of image
[SMUtility downloadAsset:self.selectedAsset completion:^(UIImage *image) {
// Create image source
SMActivitySource *activityImageSource = [[SMActivitySource alloc]initWithImage:image];
// Create string source
NSString *assetsString = [SMUtility assetsString:[NSArray arrayWithObject:self.selectedAsset]];
SMActivitySource *activityStringSource = [[SMActivitySource alloc]initWithString:assetsString];
// Present UIActiviyViewController within an UIPopoverController
NSArray *items = [@[activityImageSource, activityStringSource]mutableCopy];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc]initWithActivityItems:items applicationActivities:nil];
[activityViewController setCompletionHandler:^(NSString *activityType, BOOL completed){
// TODO: Populate mixpanel data
[SMMixPanel eventSharePhotoMethod:@"Unknown"];
}];
self.buttonPopoverController = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
[self.buttonPopoverController presentPopoverFromRect:self.anchorView.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}];
}