2016-04-12 26 views
-5

我在不同的地方遇到過幾篇文章,但不認爲它們完全覆蓋了我所需要的內容。如何捕獲屏幕視圖並共享?

通過點擊一個名爲'Share'的欄按鈕項,我希望我的應用能夠在應用中截取當前視圖並彈出共享窗口,與Twitter,Facebook和其他人分享。

回答

0

您可以添加分享按鈕

var shareButton: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Action, target: self, action: "shareButtonPressed:") 
self.navigationItem.rightBarButtonItem = shareButton 

和填充股權

func shareButtonPressed(sender: AnyObject) { 
    NSLog("shareButton pressed") 
    let stringtoshare: String = "This is a string to share" 

    //add current screen shot image to share 
    let imagetoshare = captureScreen() 

    let activityItems: [AnyObject] = [stringtoshare, imagetoshare] 
    let activityVC: UIActivityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil) 
    activityVC.excludedActivityTypes = [UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypePostToFacebook, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo] 
    self.presentViewController(activityVC, animated: TRUE, completion: { _ in }) 
} 

//捕獲屏幕拍攝的圖像

func captureScreen() -> UIImage 
{ 

    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, 0); 

    self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true) 

    var image:UIImage = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext(); 

    return image 
} 

請讓如果你發現任何麻煩我知道這,我無法測試這段代碼片段(因爲我不在系統),但這是我用來處理應用程序。

+0

我還沒有嘗試過,但我希望從對象庫中拖動該條形按鈕項並將其與@IBAction連接 - 按照您的建議操作,該按鈕將隱藏我的其他按鈕項。你將如何使用@IBAction實現? – Laroms

+0

感謝您編輯的答案 - 您是否可以通過從對象庫中拖動的條形按鈕來顯示如何操作? – Laroms

+0

好吧 - 我試過上面的代碼,但我得到一個錯誤,讓** imagetoshare:UIImage = img **。該消息是_use未解析的標識符'img'_。有什麼想法嗎? – Laroms