【Swift4】UIViewをUIImageに変換し、画像としてカメラロールに保存する方法

UIViewをUIImageに変換し、変換したUIImageをカメラロールに保存する方法です。
写真編集系のアプリや、フィルターカメラ系のアプリなどで使えたりします。

UIViewをUIImageに変換する方法

コメントとして記述していますが、ビットマップコンテキストを作成し、UIImageにしたいUIViewに表示されている子要素となるUIViewやUIImageなどの全てをビットマップコンテキストに複写し、複写されたビットマップコンテキストをUIImageに変換するようにしています。

試してないですが、この方法で2つUIViewを1つのUIImageとして出力するといったことも可能だと思います。

UIImageをカメラロールに保存する方法

UIImageWriteToSavedPhotosAlbum()を使用してUIImageをカメラロールに保存しています。

第3引数に画像を保存した結果を受け取れるメソッドを設定することができます。

サンプルではカメラロールに保存されたかどうかをアラートで表示するようにしています。