复制图文

This commit is contained in:
Fin 2025-05-23 10:52:43 +08:00
parent 4d5d90778d
commit cea0020f31
3 changed files with 15 additions and 5 deletions

View File

@ -13,6 +13,7 @@ import RxCocoa
import RxDataSources
import RxSwift
import UIKit
import UniformTypeIdentifiers
class MessageListViewController: BaseViewController<MessageListViewModel> {
lazy var deleteButton: UIBarButtonItem = {
@ -294,13 +295,22 @@ class MessageListViewController: BaseViewController<MessageListViewModel> {
self.navigationController?.present(alertController, animated: true, completion: nil)
}
private func alertMessage(message: MessageItemModel, sourceView: UIView, sourceCell: UITableViewCell) {
private func alertMessage(message: MessageItemModel, sourceView: MessageItemView, sourceCell: UITableViewCell) {
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
//
alertController.addAction(UIAlertAction(title: NSLocalizedString("Copy2"), style: .default, handler: { [weak self]
(_: UIAlertAction) in
UIPasteboard.general.string = message.attributedText?.string
if #available(iOS 14.0, *) {
var items = [[String: Any]]()
items.append([UTType.utf8PlainText.identifier: message.attributedText?.string ?? ""])
if let image = sourceView.imageView.image {
items.append([UTType.image.identifier: image])
}
UIPasteboard.general.items = items
} else {
UIPasteboard.general.string = message.attributedText?.string ?? ""
}
self?.showSnackbar(text: NSLocalizedString("Copy"))
}))
//

View File

@ -88,7 +88,7 @@ class MessageItemView: UIView {
}
}
var tapAction: ((_ message: MessageItemModel, _ sourceView: UIView) -> Void)?
var tapAction: ((_ message: MessageItemModel, _ sourceView: MessageItemView) -> Void)?
///
lazy var imageCache: ImageCache = {

View File

@ -23,7 +23,7 @@ class MessageTableViewCell: UITableViewCell {
}
}
var tapAction: ((_ message: MessageItemModel, _ sourceView: UIView) -> Void)? {
var tapAction: ((_ message: MessageItemModel, _ sourceView: MessageItemView) -> Void)? {
didSet {
messageView.tapAction = tapAction
}
@ -143,7 +143,7 @@ class MessageGroupTableViewCell: UITableViewCell {
}
}
var tapAction: ((_ message: MessageItemModel, _ sourceView: UIView) -> Void)? = nil
var tapAction: ((_ message: MessageItemModel, _ sourceView: MessageItemView) -> Void)? = nil
///
var showGroupMessageAction: ((_ group: String?) -> Void)? = nil