漸く、時計が出来上がりました。
縦置きでも、横に倒しても文字が欠けないようになりました。
これで一先ずはお終いです。
4つのラベルと、一つの背景画像しかありません。基本的に各オブジェクトはMain.storyboard上で全て定義しました。
ViewController.swiftでは内容の書き換えだけ。それも其々の中身を一つづつfunctionに飛ばして返り値を入れるだけ。viewDidLoadの中身はできるだけシンプルにするように努めました。
Storyboard上でオブジェクトの表示位置を設定するとこで、プログラム上にオブジェクトを移動させる操作を書くことが無くなりました。これは大変便利です。サンプルコードを探してwebを徘徊せずに済みました。
挨拶文は朝、昼、夜で変えるようにしましたが、dateFormatterのお陰で時刻だけを取り出すことも可能であることが判り、コードがまた減りました。
最初に見つけたサイトでは、
dateFormatter.timeStyle = . MediumStyle
dateFormatter.dateStyle = .NoStyle
var strArray:NSArray = dateFormatter.stringFromDate(now).componentsSeparatedByString("/")[2].componentsSeparatedByString(" ")[1].componentsSeparatedByString(":")
のような形だったので、纏めて取得したものを自力で切り出していましたが、
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss"
という書き方を知った現在、時刻のみ欲しい時は、
dateFormatter.dateFormat = "HH"
で済ませて、String to Intとして数値を取り出すことに成功。
その部分のコード量も半分以下になりました。
最終的にviewDidLoadの中身は。実質2行で終わってしまいました。
// スリープしないようにする
UIApplication.sharedApplication().idleTimerDisabled = true
// タイマーで更新(0.5秒おき)
NSTimer.scheduledTimerWithTimeInterval(1/2, target: self, selector: "update", userInfo: nil, repeats: true)
これだけ。(^_^;;
最初に書いた時の20分の1といったところです。Storyboard凄い。
まぁ、どちらに書くかってだけのような気もしますが……。(どこかに書かない訳にはいかないし)
次は、Navigation Controllerですか。
加えてみたのはいいけれど、どうやって使えばいいのかさっぱりで、おまけに画面の天辺を占有されるようになってしまい困っています。そのうちに使い方の載ったページを見つけることができるでしょう。(他力本願)
立てても倒しても表示位置がずれなくなりました。
画像に商標が絡んできますが、Appleの有料デベロッパー契約もしていないので、あくまで個人の楽しみで許して貰いたい。(このサイトも結構使っているし)



