From 91851a5ff6bd0b5cba4ddfbb5313b04461c3c0a2 Mon Sep 17 00:00:00 2001 From: Ryo Tsuzukihashi Date: Mon, 15 Jul 2024 16:11:46 +0900 Subject: [PATCH] add: share description --- .../Utils/Share/ShareActivityItemSource.swift | 14 +++++------ Sources/TsuzuKit/Utils/Share/ShareSheet.swift | 23 ++++++++++++++----- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/Sources/TsuzuKit/Utils/Share/ShareActivityItemSource.swift b/Sources/TsuzuKit/Utils/Share/ShareActivityItemSource.swift index 937c971..d32d0f9 100644 --- a/Sources/TsuzuKit/Utils/Share/ShareActivityItemSource.swift +++ b/Sources/TsuzuKit/Utils/Share/ShareActivityItemSource.swift @@ -2,14 +2,14 @@ import Foundation import LinkPresentation public class ShareActivityItemSource: NSObject, UIActivityItemSource { - var shareText: String - var shareImage: UIImage? - var linkMetaData = LPLinkMetadata() + private let title: String + private let linkMetaData = LPLinkMetadata() - public init(shareText: String, shareImage: UIImage?) { - self.shareText = shareText - self.shareImage = shareImage - linkMetaData.title = shareText + public init( + title: String + ) { + self.title = title + linkMetaData.title = title super.init() } diff --git a/Sources/TsuzuKit/Utils/Share/ShareSheet.swift b/Sources/TsuzuKit/Utils/Share/ShareSheet.swift index c8acdc7..46b907f 100644 --- a/Sources/TsuzuKit/Utils/Share/ShareSheet.swift +++ b/Sources/TsuzuKit/Utils/Share/ShareSheet.swift @@ -2,20 +2,31 @@ import Foundation import SwiftUI public struct ShareSheet: UIViewControllerRepresentable { - let image: UIImage? - let text: String + private let image: UIImage? + private let title: String + private let description: String? - public init(image: UIImage?, text: String) { + public init( + title: String, + image: UIImage?, + description: String? + ) { + self.title = title self.image = image - self.text = text + self.description = description } public func makeUIViewController(context: Context) -> UIActivityViewController { - let itemSource = ShareActivityItemSource(shareText: text, shareImage: image) - var activityItems: [Any] = [text, itemSource] + let itemSource = ShareActivityItemSource( + title: title + ) + var activityItems: [Any] = [itemSource] if let image { activityItems.append(image) } + if let description { + activityItems.append(description) + } let controller = UIActivityViewController( activityItems: activityItems, applicationActivities: nil