Swift/UIViewController
[SWIFT]UIActivityViewController 공유하기
삽질중
2023. 10. 26. 13:04
let shard_link_url = URL(string: linkUrl)
let shareAll:[Any] = [title , shard_link_url!]
let activityViewController = UIActivityViewController(activityItems: shareAll, applicationActivities: nil)
//공유하기에서 제외할 타입
activityViewController.excludedActivityTypes = [.airDrop, .print, .copyToPasteboard, .assignToContact, .saveToCameraRoll]
DispatchQueue.main.async {
guard let topVC = UIApplication.currentTopViewController() else {
return
}
activityViewController.popoverPresentationController?.sourceView = topVC.view
if UIDevice.isiPad() {
// 아이패드의 경우 중앙에 뜨게 설정
activityViewController.popoverPresentationController?.permittedArrowDirections = []
activityViewController.popoverPresentationController?.sourceRect = topVC.view.bounds
activityViewController.popoverPresentationController?.sourceRect = CGRect(x: topVC.view.bounds.midX, y: topVC.view.bounds.midY, width: 0, height: 0)
// activityViewController.popoverPresentationController?.sourceRect = CGRect(x: UIScreen.main.bounds.width - 200, y: 0, width: 200, height: 30)
} else {
activityViewController.modalPresentationStyle = .fullScreen
}
activityViewController.completionWithItemsHandler = { (activityType: UIActivity.ActivityType?, completed: Bool, arrayReturnedItems: [Any]?, error: Error?) in
log(direction: .ETC, ofType: self, datas: "UIActivityViewController", activityType, completed, arrayReturnedItems, error)
}
topVC.present(activityViewController, animated: true, completion: nil)
}