如何向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]; } }