如何向UIActivityViewController对象添加不同的文本

我已经实现了一个UIActivityViewController,用于共享一些信息。 在这种情况下,我有一个问题:是否有可能在Facebook的共享/ Twitter分享/或邮件共享之间做出不同的文字? 所设置的文本与其他文本不同

一个好的UIActivityViewController教程将是非常有用的。

我当时的代码是,用于显示文本和图像:

NSString *text = @"Lime Cat"; UIImage *image = [UIImage imageNamed:@"MyApp Icon 512x512.png"]; NSArray *items = [NSArray arrayWithObjects:text,image , nil]; 

但是,我怎样才能pipe理它的NSString只是为了邮件,并为facebook分享选项做一个单独的NSString?

有什么build议么?

谢谢。

你可以去下面的链接,有一个教程,可以帮助你:

http://www.albertopasca.it/whiletrue/2012/10/objective-c-custom-uiactivityviewcontroller-icons-text/

你可以让你的类符合UIActivityItemSource协议,并实现activityViewController:itemForActivityType: activityType将是FB,Twitter,Messages应用程序等,所以你可以做一个开关,并根据活动返回一个不同的对象。

 -(void)ShareImageandText:(UIButton *)sender { 

NSString * texttoshare = @“ http://qrs.ly/l851gh4 ”;

UIImage * image = [UIImage imageNamed:@“default”];

  NSString *noteStr = [NSString stringWithFormat:@"Please follow this link below to install the Freedom.desi application on your IPhone. %@",texttoshare]; NSURL *url = [NSURL URLWithString:texttoshare]; NSArray *activityItems = @[noteStr,image]; NSLog(@"this %@",activityItems); if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[noteStr,image] applicationActivities:nil]; activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint]; [self shareText:noteStr andImage:image andUrl:nil]; [self presentViewController:activityVC animated:TRUE completion:nil]; } //if iPad else { // Change Rect to position Popover UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[noteStr, url] applicationActivities:nil]; activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint]; [self shareText:noteStr andImage:image andUrl:nil]; UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:activityVC]; [popup presentPopoverFromRect:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/4, 0, 0)inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; } }