2013-10-30 109 views
54

我已经在大多数的支持iOS的7 的iOS应用程序看到股票期权的格式(如下图)是否有可用于实现这一份额选项默认代码/框架如图所示它在下面的图片?默认共享中的iOS 7

+0

看看这个教程:http://www.appcoda.com/ios7-airdrop-programming-tutorial/ – Sakiboy

回答

52

你要找的是UIActivityViewController

既然你问了一个普遍的问题,我不能做多给你一个链接到图像中你贴的是UIActivitiyViewController this is a link类文档的documentation

4

的控制器

1

UIActivityViewController是什么你正在寻找。

可以指定的项目或应用

UIActivityViewController *actCont = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; 
15

除了公认的答案,一小块的示例代码

- (void)shareText:(NSString *)text andImage:(UIImage *)image andUrl:(NSURL *)url 
    { 
     NSMutableArray *sharingItems = [NSMutableArray new]; 
     if (text) { 
      [sharingItems addObject:text]; 
     } 
     if (image) { 
      [sharingItems addObject:image]; 
     } 
     if (url) { 
      [sharingItems addObject:url]; 
     } 
     UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil]; 
     [self presentViewController:activityController animated:YES completion:nil]; 
    } 

呼叫shareText,留下你不想在nil分享的东西。

[self shareText:@"Hello world" andImage:nil andUrl:nil]; 
1

只需使用以下代码默认共享。可以能够添加更多的项目到shareItems阵列按您的要求。

NSMutableArray *shareItems = [[NSMutableArray alloc] initWithObjects: 
           @"Hello", 
           [UIImage imageNamed:@"your_image.png"], 
           @"http://google.com/", nil]; 
[self shareItemToOtherApp:shareItems]; 

以下方法是默认共享文本或图片到其他应用程序: -

-(void)shareItemToOtherApp:(NSMutableArray *)shareItems{ 
    UIActivityViewController *shareController = [[UIActivityViewController alloc] 
               initWithActivityItems: shareItems applicationActivities :nil]; 

    [shareController setValue:@"Sharing" forKey:@"subject"]; 
    shareController.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeSaveToCameraRoll]; 

    shareController.completionHandler = ^(NSString *activityType, BOOL completed) 
    { 
     //NSLog(@" activityType: %@", activityType); 
     //NSLog(@" completed: %i", completed); 
    }; 

    [self presentViewController: shareController animated: YES completion: nil]; 
} 

如果你想那么自定义共享表使用下面的代码。对于这一点,你必须输入<Social/Social.h>框架。

-(void)shareOnFacebook:(id)sender { 
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 
    { 
     SLComposeViewController *faceSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 
     // NSLog(@"%@", messageField.text);//This returns the appropriate string 
     [faceSheet setInitialText:@"Hellooooooo"]; 
     //The facebook VC appears, but initial text is not set to messageField.text 
     [self presentViewController:faceSheet animated:YES completion:nil]; 
    } 
    else 
    { 
     NSLog(@"Please first install Application and login in Facebook"); 
    } 
} 

-(void)shareOnTwitter:(id)sender { 
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 
    { 
     SLComposeViewController *tweetSheet = [SLComposeViewController 
               composeViewControllerForServiceType:SLServiceTypeTwitter]; 
     [tweetSheet setInitialText:@"Hello"]; 
     [self presentViewController:tweetSheet animated:YES completion:nil]; 
    } 
    else{ 
     NSLog(@"Please first install Application and login in Twitter"); 
    } 
} 

希望,这就是你要找的。任何担心都会回到我身上。 :)