【Swift】お天気アプリを作る(3)セルの高さを可変にしてお天気概況を表示しよう

swift

Swiftが3.0になってから初めてのアプリ作成としてお天気アプリを作り始めました。

前回はJSONで出力される天気予報データをテーブルビューに表示させましたが、今回で最終回。残りのデータを表示して完成させます。

前回の記事は以下になります。

スポンサーリンク

テーブルビューのセルの高さを可変にする

今回はサイズが不明のデータを表示したいので、まずは内容に合わせてセルの高さが自動的に変更するようにします。

やり方は簡単。viewDidLoadの中に以下の2行を書くだけです。1行目がテーブルビュー内の各セルの高さを自動で制御するための命令で、2行目はデフォルトの高さ。もしもこの範囲に文字が収まりきらない場合は高さを自動調整してくれます。

 

上記を足すと、前回までのコードに書いてあったセルの高さを指定する命令(以下の関数)が不要になりますので、削除しましょう。

 

 

ヘッダーとお天気概況部分を作ります

次に地域名を表示するヘッダーと、お天気概況を表示するセルを作成します。

ヘッダーはナビゲーションバー等を使えば楽なのですが、今さら設定するのも面倒なのでセルを利用して表示します。お天気概況部分は文章が長いので少しフォントサイズを小さめにしようと思います。

まずは表示させるための準備です。表示セルの数を取得した天気予報の日数+2(ヘッダー+お天気概況)になるように以下の関数を修正します。

  • 変更前

 

・変更後

 

 

次はセルの内容表示部分に手を入れていきます。if文を使って、ヘッダーの場合、お天気概況の場合、それ以外(天気予報の表示)と3パターンに切り分け、それぞれの処理を書いていきます。ヘッダー部分だけセルの色を変えたりしています。

 

これで完成!

想像以上にダッサいアプリが完成しましたが、見た目を変えたり背景に画像を貼ったり、時間の表示方法を変更したりするだけでもオリジナル天気予報アプリが簡単に作れると思いますので、ご自身のお好みでカスタマイズしてください。

 

おわりに

仕事してプログラムを書いたりするのであれば、もっと効率良く無駄のないコーディングやプログラムを作るための細かい規則なんかを作ったりしますが、個人の趣味や勉強でプログラムを楽しみたい方は、そんなルールに囚われず自分の好きなようにやってみることも大事だと思います。

ある程度できるようになったら、なぜ決まりごとが必要なのかも段々とわかってくるでしょうし。なので初心者の方はいろんなことを試してみるのが一番ですので、トライしてみてください。

今作りたいなぁと思っているアプリでは、アプリの中にデータを保存したいので、次回はその辺りが勉強できるようなサンプルの作成に挑戦してみたいと思います。

今回のサンプルはこちらに置いてあります。

スポンサーリンク