SwiftUI で UIView
の内容を画像(UIImage
)にして、アルバムに保存するサンプルを作った。
SwiftUI は現在の View を直接 UIView
として扱うことは難しいので UIApplication
経由で UIView
を取得する感じになる。
extension UIView { func image() -> UIImage { let renderer = UIGraphicsImageRenderer(bounds: self.bounds) return renderer.image { rendererContext in layer.render(in: rendererContext.cgContext) } } } extension UIApplication { static func image() -> UIImage? { guard let rootViewController = shared.windows[0].rootViewController else { return nil } guard let view = rootViewController.view else { return nil } return view.image() } }