[swift] PMAlertController 알림창 알림창 공유 버튼 설정하기
개요
PMAlertController는 iOS 개발에서 사용되는 알림창을 커스터마이징할 수 있는 라이브러리입니다. 이 라이브러리를 사용하여 알림창에 공유 버튼을 추가하고자 할 때 어떻게 구현해야 하는지 알아보겠습니다.
단계별로 설정하기
1. PMAlertController 라이브러리 가져오기
PMAlertController를 사용하기 위해서는 해당 라이브러리를 프로젝트에 추가해야 합니다. CocoaPods를 사용한다면 Podfile에 다음과 같이 추가합니다.
pod 'PMAlertController'
2. 알림창 생성 및 설정하기
알림창을 생성하고 필요한 설정을 적용합니다. 아래는 간단한 예시 코드입니다.
import PMAlertController
func showAlert() {
let alertVC = PMAlertController(title: "알림", description: "메시지를 공유하시겠습니까?", image: UIImage(named: "alert_icon"), style: .alert)
// 알림창 버튼 추가
alertVC.addAction(PMAlertAction(title: "공유하기", style: .default, action: {
// 공유 버튼 클릭 시 동작할 내용 작성
self.shareMessage()
}))
// 취소 버튼 추가
alertVC.addAction(PMAlertAction(title: "취소", style: .cancel, action: nil))
// 알림창 표시
self.present(alertVC, animated: true, completion: nil)
}
func shareMessage() {
// 메시지 공유 로직 작성
}
위의 코드에서 addAction
메소드를 사용하여 알림창에 버튼을 추가합니다. PMAlertAction
을 생성하여 버튼의 제목, 스타일, 클릭 시 수행할 동작을 설정할 수 있습니다.
3. 공유 버튼 동작 설정하기
공유 버튼을 클릭하면 shareMessage()
메소드가 호출되도록 설정해야 합니다. shareMessage()
메소드 내에는 실제로 메시지를 공유하는 로직을 작성해야 합니다.
func shareMessage() {
let message = "공유할 메시지"
let activityItems: [Any] = [message]
let activityVC = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
// iPad에서 알림창의 방향 설정
if let popoverPresentationController = activityVC.popoverPresentationController {
popoverPresentationController.sourceView = self.view
popoverPresentationController.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.maxY, width: 0, height: 0)
popoverPresentationController.permittedArrowDirections = []
}
// 액티비티 컨트롤러 표시
self.present(activityVC, animated: true, completion: nil)
}
shareMessage()
메소드에서는 UIActivityViewController
를 사용하여 메시지를 공유할 때 사용할 수 있는 앱들의 목록을 표시합니다. activityItems
에는 공유할 메시지나 파일 경로 등의 정보를 전달할 수 있습니다.
마무리
PMAlertController를 사용하여 알림창에 공유 버튼을 설정하는 방법을 알아보았습니다. 이제 위의 단계를 참고하여 프로젝트에 맞게 알림창을 커스터마이징하여 사용해보세요.