Swift2で “Hello World”(その6)

Swiftは、思った以上に取っ付きやすい言語ですね。
素人が始めるのに、敷居が低いです。
なんといっても、すぐ動かせるから試しながら進められるのがいい。
ちょっと試したい時にはPlayGround使えるし。

一応、時計はできたので、次はアニメーションを表示してみたいと思いました。
やっぱ、動くと楽しいよなぁ。
幸いパーツは揃っていたので、シドニアの騎士の通信機をベースに作ることにしました。

やったこと。
Main.storyboardに、image viewをどんと置く。
その中に、取り敢えずデフォルトの画像を貼り付ける。
ViewControllerでタイマーを動かして、さっきの画像の中身をひたすら差し替える。
以上。

まぁ、繰り返し表示(点滅等)とかありますんで、switch caseで条件分岐してみたり、思いつくままに作り込んで行ってます。
ついでにenum使ってみたり、別ファイルにclass定義してみたり、そのクラス内で表示内容を設定できるようにしてみたり、新しいものを見つけると試しています。

そこまでしたところで、もしかしたらlabelでも直線が伸びて枠が開いて文字が表示される。なんてことができそうと思い付き、出来上がってもいないのに改造を始めました。(labelに枠線が引けるのを知ったのが切っ掛けです)
storyboard上にlabelをどんどこと追加していったら、コンパイルは通るけれど立ち上がらないなんてことになり……涙目に。
仕方がないので、labelはViewControllerで作成して表示するように変更。これならば問題ありませんでした。
あまり沢山のオブジェクトをstoryboardに置いたら計算が大変で、お手上げになってしまうのでしょうか? よく判りませんが。

で、そのlabelたちにコントロールを書き込んでアニメーションできるようになりました。
なんだか凄い。動いてる。おまけに伸びる間隔や表示速度を簡単に変更できる。いいですねぇ。

さぁボックス部分ははできたから、labelの中に文字を表示しましょう。
するとサイズを無視してlabelの枠外に文字が表示されてしまいました。ならばlabelからUIImageViewに変更して画像を表示させてみましょう。
をぉ、今度は枠からはみ出さない。
けれども、文字が枠の形に応じて変形してしまいます。
なかなか思ったようにはいきませんねぇ。
きっとどこかで指定できるのでしょうが、まだそれが何処だか判ってません。

そうそう、初期設定に失敗したらしく、コレiOS9でしか動かないものになっていました。(設定変更の仕方が判らない)
当分の間は、シュミレータ上で表示させて楽しむだけになってしまいました。(^_^;;;;

現在の表示はこんな感じ。


左上の枠はimage viewで作ったもの。中の「5」の文字は試しに入れてみただけです。背景が黒いから白いものを探したらコレだった。
他の枠はlabelです。よく見ると中に小さな文字が表示されています。

背景丸ごと差し替えアニメーション版では、この白い数字で時刻表示をしています。
出撃指令が一回出て終わりでは寂しいので、その後は時刻を表示するようにしました。
アニメには多分出てきませんが、まぁいいでしょう。
アラームの設定ができるようになったら、時計表示から「出撃指令」が割り込む形にできればいいな。アラート音付きで。
まだ、画面遷移を作れていない(何度か失敗してメゲている)ので設定画面を出せません。まだまだ先の話になりそうです。

コメントを残す