Swift でメッセージ+チェックボックス付きのポップアップを実装する際に、PopupDialog というライブラリを導入したのでご紹介。
今回は使いませんでしたが、ポップアップの中に画像を追加することも可能です。
GitHub のページはこちらから。
GitHub – Orderella/PopupDialog: A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertController alert style.
https://github.com/Orderella/PopupDialog
導入方法ですが、CocoaPods の場合は、Podfile に下記を追加後、pod install コマンドを実行するだけです。
pod 'PopupDialog', '~> 1.1'
サンプルコードはこちら。
画像付きのポップアップを表示できます。
import PopupDialog
let title = "タイトル"
let message = "メッセージ"
let image = UIImage(named: "画像ファイル名")
let popup = PopupDialog(title: title, message: message, image: image)
let OKbutton = DefaultButton(title: "OK", dismissOnTap: true) {
// OKボタン押下時に実行したい処理を記述
}
popup.addButton(OKbutton)
self.present(popup, animated: true, completion: nil)
他にも、ViewController を渡して、それをポップアップとして表示することもできます。
私はこちらを使って、チェックボックス付きのポップアップを実装しました。
また、私は使いませんでしたが、ボタンの配置を横並びにするか縦並びにするかを選べたり、表示時のアニメーションも変更できます。
さらに、ポップアップが表示されている時に背景をタップすればポップアップを閉じられたり、表示しているポップアップをスワイプして閉じられたりを設定することもできます。
私はうっかり操作ミスでダイアログが消えてしまうのが嫌なので、ボタン押下のみでポップアップが閉じるようにしています。
ViewController を設定する方法は、最初ポップアップが表示されない現象が発生しましたが、下記の Issue が参考になりましたので、もしお困りでしたらご参照ください。
View Controller Doesn’t Appear · Issue #2 · mwfire/PopupDialogCustomExample · GitHub
https://github.com/mwfire/PopupDialogCustomExample/issues/2
幸いにも私はこれで解決しました。
以上、Swift でカスタマイズ可能なポップアップを実装できるライブラリ「PopupDialog」のご紹介でした。
ご参考になれば幸いです。