[SwiftUI]Baker's % Calculator /ベイカーズ%計算 - (2) Modal View
- handmadeapp
- 2020年1月11日
- 読了時間: 2分
更新日:2020年2月18日
パンのレシピの各分量からBaker's %を算出するアプリの続きです。
今日は、分量を入力する部分に挑戦。(右側部分)

アラート表示に入力フィールドを設定すればよいかな、と思っていたものの、
SwiftUIのAlertには無く、ちょっと面倒な印象。(参考:リンク)
こちらのブログを参考に、Modal Viewで作ることにしました。
まずは、Listに入力画面を開くボタンを設定。
ボタンのイメージにSF Symbolsを利用。
ダウンロードしたら、Image(systemName: "pencil")と使いたい画像の名前を入力するだけ。
画像を用意する手間が省けて素晴らしい!

ボタンのタップが認識されているか、念のためSimulatorで確認。

EditViewという名前で入力用の画面を用意。
TextFieldの概要は、こちらのブログを参考にざっくり理解。
数字のみ入力可能にする .keyboardType(.numberPad) はこちらで見つけました。

「Ingredient」の部分は、リストの選択されたものを表示したい。。
が、先に、List ViewからModalを表示する部分を。
ButtonのActionで「self.show_modal = true」と変更して、
それを、「.sheet(isPresented: self.$showsModal) {EditView()}」部分が受け取る、
という感じかな、と理解。
無事、ButtonのタップでModal Viewが表示できるように。

ちゃんと入力もできることも確認。

「Ingredient」の部分にリストの選択されたものの名前を表示するのは、
こちらの動画を参考にしました。
List View側は、表示するModal Viewに渡す「item」を「EditView(ingredient: item)」と指定し、

Modal View側で受け取れるように変数を設定。

といった感じで入力画面の出来上がり。
次は、入力した内容をリスト側に反映&Baker's %計算部分に着手したい。

![[SwiftUI]Baker's % Calculator /ベイカーズ%計算 - (6) Append new item](https://static.wixstatic.com/media/0805bc_3d24d4d5cb814b53895c46a2b343ddab~mv2.png/v1/fill/w_980,h_739,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/0805bc_3d24d4d5cb814b53895c46a2b343ddab~mv2.png)
![[SwiftUI]Baker's % Calculator /ベイカーズ%計算 - (5) Delete from List](https://static.wixstatic.com/media/a27d24_010642e0d5cb477b91aa47c4dd653fbe~mv2.png/v1/fill/w_792,h_1392,al_c,q_90,enc_avif,quality_auto/a27d24_010642e0d5cb477b91aa47c4dd653fbe~mv2.png)
![[SwiftUI]Baker's % Calculator /ベイカーズ%計算 - (4) Functions](https://static.wixstatic.com/media/a27d24_b168acb9b75d4d8b8c78c2fab806d5f4~mv2.png/v1/fill/w_734,h_1234,al_c,q_90,enc_avif,quality_auto/a27d24_b168acb9b75d4d8b8c78c2fab806d5f4~mv2.png)
コメント