From bc751429643197e455c32c92b0f79ce7a8df1e52 Mon Sep 17 00:00:00 2001 From: noeyiz Date: Fri, 3 May 2024 22:39:31 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=95=84=EC=9D=B4=ED=8C=A8=EB=93=9C=20?= =?UTF-8?q?=EB=8C=80=EC=9D=91=20UIActivityController=20popover=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iBox/Sources/BoxList/BoxListView.swift | 7 +------ iBox/Sources/BoxList/BoxListViewController.swift | 8 ++++++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/iBox/Sources/BoxList/BoxListView.swift b/iBox/Sources/BoxList/BoxListView.swift index abbaba0..da9bbd2 100644 --- a/iBox/Sources/BoxList/BoxListView.swift +++ b/iBox/Sources/BoxList/BoxListView.swift @@ -448,10 +448,7 @@ extension BoxListView: UITableViewDelegate { generator.impactOccurred() } - let activityViewController = UIActivityViewController(activityItems: [url], applicationActivities: nil) - if let viewController = self.delegate as? UIViewController { - viewController.present(activityViewController, animated: true, completion: nil) - } + delegate?.pushViewController(url: url) } let editAction = UIAction(title: "북마크 편집", image: UIImage(systemName: "pencil")) { [weak self] action in @@ -475,8 +472,6 @@ extension BoxListView: UITableViewDelegate { } } - - return UIMenu(title: "", children: [favoriteAction, shareAction, editAction, deleteAction]) } } diff --git a/iBox/Sources/BoxList/BoxListViewController.swift b/iBox/Sources/BoxList/BoxListViewController.swift index 5c95f7b..bde24c3 100644 --- a/iBox/Sources/BoxList/BoxListViewController.swift +++ b/iBox/Sources/BoxList/BoxListViewController.swift @@ -265,6 +265,14 @@ extension BoxListViewController: BoxListViewDelegate { func pushViewController(url: URL?) { guard let url = url else { return } let activityViewController = UIActivityViewController(activityItems: [url], applicationActivities: nil) + + // 아이패드 대응 + if let popoverController = activityViewController.popoverPresentationController { + popoverController.sourceView = self.view + popoverController.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) + popoverController.permittedArrowDirections = [] + } + self.present(activityViewController, animated: true) }