Код: Выделить всё
extension WinningHandView {
func snapshot(origin: CGPoint = .zero, size: CGSize = .zero) -> UIImage {
let controller = UIHostingController(rootView: self)
let view = controller.view
let targetSize = size == .zero ? controller.view.intrinsicContentSize : size
view?.backgroundColor = .clear
view?.bounds = CGRect(origin: origin, size: targetSize)
let renderer = UIGraphicsImageRenderer(size: targetSize)
return renderer.image { _ in
view?.drawHierarchy(in: controller.view.bounds, afterScreenUpdates: true)
}
}
}
< /code>
Вот кнопка, которую я использую для запуска листа обмена: < /p>
Button("Share", action: {
let image = self.snapshot()
//let sharingImage = Image(uiImage: image).renderingMode(.original)*/
let activityVC = UIActivityViewController(activityItems: [image], applicationActivities: nil)
let _: Void? = UIApplication.shared.connectedScenes.map({ $0 as? UIWindowScene }).compactMap({ $0 }).first?.windows.first?.rootViewController?.present(activityVC, animated: true, completion: nil)})
Подробнее здесь: https://stackoverflow.com/questions/795 ... mpt-but-lo