【Swift】スクリーンショットをとってシェアするコードメモ

スクリーンショットをとってシェアするコードメモ

スクリーンショットをとる過程はこういうものだという程度で大丈夫らしい。


@IBAction func share(_ sender: Any) {
    
    //スクリーンショットをとる
    takeScreenShot()
    
    let items = [screenShotImage] as [Any]
    
    //アクティビティービューに乗っけて、シェアをする
    let activityVC = UIActivityViewController(activityItems: items, applicationActivities: nil)
    
    present(activityVC, animated: true, completion: nil)

}

//スクリーンショット
func takeScreenShot(){
    
    let width = CGFloat(UIScreen.main.bounds.size.width)
    let height = CGFloat(UIScreen.main.bounds.size.height/1.3)
    let size = CGSize(width: width, height: height)
    
    UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
    //Viewに書き出す
    self.view.drawHierarchy(in: view.bounds, afterScreenUpdates: true)
    screenShotImage = UIGraphicsGetImageFromCurrentImageContext()!
    UIGraphicsEndImageContext()
    
}