2014-03-04 66 views
1

我有以下代碼發佈到Facebook爲我的應用程序;分享屏幕截圖到Facebook

這是.h文件

#import <UIKit/UIKit.h> 
#import <Social/Social.h> 
#import <Accounts/Accounts.h> 

@interface LifeTipsViewController : UIViewController { 
    SLComposeViewController *mySLComposerSheet; 
} 

    -(IBAction)PostToFacebook:(id)sender; 

@end 

與.m文件(Facebook的郵政代碼)

-(IBAction)PostToFacebook:(id)sender { 
    mySLComposerSheet = [[SLComposeViewController alloc] init]; 
    mySLComposerSheet = [SLComposeViewController 
    composeViewControllerForServiceType:SLServiceTypeFacebook]; 
    [mySLComposerSheet setInitialText:@"hi"]; 
    [self presentViewController:mySLComposerSheet animated:YES completion:NULL]; 
} 

我希望能夠按「共享」按鈕和應用獲取當前視圖的屏幕快照以發佈到Facebook。這個Facebook發佈代碼需要添加哪些代碼才能共享該應用的屏幕截圖? 這甚至可能嗎?

在此先感謝。

回答

2

就是這樣。

-(IBAction)PostToFacebook:(id)sender { 
    mySLComposerSheet = [[SLComposeViewController alloc] init]; 
    mySLComposerSheet = [SLComposeViewController 
    composeViewControllerForServiceType:SLServiceTypeFacebook]; 
    [mySLComposerSheet setInitialText:@"hi"]; 


    UIGraphicsBeginImageContext(self.window.bounds.size); 
    [self.window.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    [mySLComposerSheet addImage:image]; 


    [self presentViewController:mySLComposerSheet animated:YES completion:NULL]; 
} 
+0

如果它不工作怪https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/SLComposeViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/SLComposeViewController/addImage:和http://stackoverflow.com/questions/2200736/how-to-take-a-screenshot-programmatically,但如果它確實,你應該學會使用Google。這就是我所做的一切。 –

+0

謝謝,當我回家時,我會嘗試它。已經搜索並嘗試了很多事情,所以轉而寫我自己的問題。沒有看到您發佈的代碼出現了。 – user3230481