2014-03-06 125 views
0

我的主页上有一个按钮,点击后会弹出一个子视图,显示一些选项以在社交媒体上共享。到目前为止,我有以下代码:如何解决这个社交媒体视图分享(iOS)?

- (IBAction)showActivityView:(id)sender { 
    NSString *shareText = @"The text I am sharing"; 
    //UIImage how can I add an image 
    NSArray *itemsToShare = @[shareText]; 
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil]; //creating mini view controller that pops up that shows the social options, subclass of view controller 
    activityVC.excludedActivityTypes = @[UIActivityTypeAirDrop, UIActivityTypeAssignToContact, UIActivityTypeMail, UIActivityTypePostToTencentWeibo, UIActivityTypePrint, UIActivityTypeCopyToPasteboard]; 
    [self presentViewController:activityVC animated:YES completion:nil]; 
} 

这个功能,因为我想,但我试图找出如何添加图像(第二行)。我认为这将是UIImage *shareImage = @"img.png";,但它似乎没有工作。我的另一个问题是:有没有办法在获得UIImage行的工作之后,我可以设置一段代码,在共享它之前对用户进行高分屏蔽,而不是用一个代码创建状态更新或推文静态图像?

回答

1

晚的答案,但这里是我使用了类似的代码:

//takes screenshot 
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; 
    CGRect rect = [keyWindow bounds]; 
    UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f); 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    [keyWindow.layer renderInContext:context]; 
    UIImage *capturedScreen = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

//Share image and text 

NSString *text = [NSString stringWithFormat:@"My score"]; 

UIActivityViewController *controller = 
[[UIActivityViewController alloc] 
initWithActivityItems:@[text, capturedScreen] 
applicationActivities:nil]; 

controller.excludedActivityTypes = @[ 
            UIActivityTypeAssignToContact, 
            UIActivityTypePostToFlickr, 
            UIActivityTypePostToVimeo, 
            UIActivityTypePostToTencentWeibo, 
            ]; 

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

我希望帮助。