2017-04-20 15 views
1

我擁有活動項目中的文本,但現在它在WhatsApp或Facebook上共享,此方法爲每個應用程序共享相同的文本。 是否有可能爲每個應用程序共享不同的文本?UIActivityViewController爲WhatsApp或Facebook選擇了不同的文本

- (void)share { 
    NSString *text = @"share test"; 

    NSArray * activityItems = @[[NSString stringWithFormat:@"%@", text], [NSURL URLWithString:@"http://www.test.co"]]; 
    NSArray * applicationActivities = nil; 
    NSArray * excludeActivities = @[UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeMessage]; 

    UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities]; 
    activityController.excludedActivityTypes = excludeActivities; 

    [self presentViewController:activityController animated:YES completion:nil]; 

    [activityController setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) { 
     NSLog(@"The setCompletionWithItemsHandler completed = %i", completed); 

     if (completed) { 
      NSLog(@"The selected activity was %@", activityType); 

      if ([activityType isEqualToString:UIActivityTypeMail]) { 
       NSLog(@"Mail sended"); 
      } else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) { 
       NSLog(@"Post on twitter, ok!"); 
      } else if ([activityType isEqualToString:UIActivityTypePostToFacebook]) { 
       NSLog(@"Post on facebook, ok!"); 
      } else if ([activityType isEqualToString:UIActivityTypeMessage]) { 
       NSLog(@"SMS sended!"); 
      } 
     } 
    }]; 
} 

回答

2

簡短的回答:

不可以,但你可以使用開放式應用程序與URL方法和參數傳遞給應用程序。 使用該方法時,您必須使用自定義UI並且不能使用UIActivityViewController。 (據我所知)

所以,這是可能的,如果你想有多個按鈕,如: 「分享WhatsApp的」 「分享與Facebook」 等

+0

感謝,自定義UI的問題爲了我。 –

相關問題