【Swift】Floating Panelを実装してみた

下からニョキッと出てくるFloatingPanelを実装してみました。

スイスイ〜。

TableViewを表示しています。

スクロールもバッチリですね。

この機能、セミモーダル、ハーフモーダルとも呼ばれています。

見ての通り、モーダル以外の部分も操作できるのです。

セミモーダルは、いろんなアプリで使われていると思いますが、実はAppleがサポートしている公式の機能ではないのです。

iOS13に組み込まれるとかいう噂もあったみたいですが、組み込まれず。

とても便利なUIなので公式サポートすれば良いのに。

Floating Panelを作っているのは日本の方みたい。

https://github.com/SCENEE/FloatingPanel

すごいなぁ。

Githubに使用方法は書いてありますが、私の実装内容をご紹介します。

ストーリーボードでニョキッとする部分を作る

まずはニョキッと出てくるViewControllerを作成します。

左が地図画面、右がニョキッとする画面です。

構成としては、ViewController→View→TableView→TableViewCellです。

TableViewCellの中に、ラベル、画像を配置します。

ViewControllerの名前とIdentityは以下のように設定しました。

Identityは後で使うので設定し忘れに注意です。(^^)

コードは以下の通り。

ニョキッとするのを呼び出す

ニョキを表示する関数を作ります。

呼び出す側のコードは以下の通り。

ストーリボードをインスタンス化するところがポイントですかね。

こんな感じでシンプルに実装できました。

素晴らしいフレームワークですね。