StoryboardとUIViewControllerを使ったポップアップビュー

こんばんわ、毒きのこです。

ツール系のアプリ開発をしていて、必ずといって言いほど使われるポップアップビュー。何かボタンを押下した時に画面に「にゅ」っと出てきたりする小窓みたいなやつのことですね。

それの実装方法を紹介。いくつかあるのですがここではStoryboardとUIViewControllerを組み合わせた方法をば。

まず以下のように適当にプロジェクトを作成します。

次にMain.storyboard上のViewControllerに以下のようにボタンを配置。

今度はポップアップビューとして表示する画面の作成。
ここではPopupViewController.storyboardとしてファイルを作成、同じくPopupViewController.swiftも作成しておきましょう。

※Storyboard IDを打ち忘れないように

そしたら、肝心のこのStoryboardとUIViewControllerで作った画面を呼び出すためのUIWindowをExtensionしたクラスを作成します。

最後に、作ったポップアップを実際呼び出すための処理をViewContoller側に書きます。

ポップアップビューの閉じる処理はこの呼び出し側のViewControllerで行うのでdelegateにselfをセットするのを忘れずに。

次にポップアップビュー側の処理を。

こちらはシンプルですね。protocolでこのポップアップビューを閉じるメソッドを定義し、実際それを実行するのはデリゲート先ということになります。つまり上のViewContollerのcloseDialog()ですね。

ちなみにこちらのUIWindow+Extended.swiftを少し弄れば、ポップアップビューが表示される際のアニメーションも自由自在です。

ソースはGitHub上にも置いておきましたのでご自由にいじっちゃってください。

なお、自作のOSSではxibを使ったカスタムUIViewにてポップアップを再現してますので、良かったらこちらを使ってもらえると嬉しかったり(´▽`)

それでは良い開発ライフを〜

スポンサーリンク
336 x 280 レクタングル(大)
336 x 280 レクタングル(大)