この本を見ながら進めてる↓
前回⇒「【Swift奮闘記ep30】iOSアプリのUIの仕組み~前半~(画面表示・構成・遷移、ユーザー操作のイベント、コントロール・アクション)」
引き続き、iOSアプリのUIの仕組みについて説明していく。
Storyboad
設定画面から一覧画面へ飛んで、さらにトップ画面へ飛んで・・・という様な画面遷移を、直感的に操作(設定)することができる機能をStoryboadという。
これはXcodeをインストールしたらついてくるので、新たにインストールしなくてもよい。
Storyboardは「紙芝居」のように次から次へと絵(画面)が変わっていく感じをイメージしてもらえばいい。
この絵からこの絵へ移り変わり、最終的にはこの絵になる。Storyboardではその絵(画面)の事をシーン、その移り変わりの事をセグエという。
これらは実際に動作するときはインスタンスに変わる。(シーンに関してはビューコントローラのインスタンス。)
なのでシーンはビューコントローラのクラスの内容をいじることで、特定のシーンを自分で作成したビューコントローラのインスタンスにすることが可能。
言っていることが複雑でこれは具体的にやってみないと、何とも言えなさそう。
シーンのクラスにビューコントローラを設定した場合、シーンに配置している各ビューのインスタンスをビューコントローラのプロパティとして接続することができます。この接続の事をアウトレットと言います。
はい、意味が分かりません。
シーンに配置している各ビューとビューコントローラのプロパティは密接に絡み合う可能性が今後あるって事で。(苦笑)
また、コントロールのアクションを受け取るターゲットをビューコントローラにすることで、アクションが発生した時にビューコントローラの任意のメソッドを呼び出すことができます。
これは前回part30でも出てきたよね??確か。ビューコントローラから指示が飛ぶってね!!
AutoLayout
今世の中で流通しているiOSデバイスはiPhone7,iPhone7Plus,iPad,iPadAir2,iPadPro,iPodtouch・・・たくさん。
アプリがどの画面にも対応できるようにする機能がAutoLayoutだ。これまたXcodeについてくる。
AutoLayoutでは個々のビューやビュー同士に制約を決めることができる。
制約とは、このビューはサイズはこうこうで、上からこのところに配置する。とかね。
デバイスが変わったときにその画面に合った配置にするために制約を自動で変えて調整してくれるのがAutoLayoutだと思ってよさそうだ。
また、ポイントという単位を使うので、慣れておこう。
1ポイントに対して、それぞれのデバイスで1~3ピクセルまで対応している。
まあ具体的に何も出てきていないので慣れようがないのだが。
PlaygroundとiOSアプリ開発の違い
Playgroundはコードを書いたらその結果が右やら下やらに出てきて、いわゆる練習帳みたいな役目だ。
swiftというプログラミングを身に付けるための特訓の場というだけだ。
一方、iOS開発では書いたコードが正しいかどうかは実際にiOSシュミレータで確認するか、iOSデバイスにアプリをインストールして実行してみないとわからないのだ。
つまり毎度毎度コードが正しいか確認するのは大変なので、ある程度まとめてコードを書いて、まとめてチェックするといった感じになるので、スピード感は上がる。
が、正確性が必要になってくるという事だ。
徐々に慣れていくしかない。
※
Playgroundの場合
let message = “Hello” と入力したら ”Hello”と出てきた。
iOSアプリ開発の場合
print(“Hello”)としてアプリを実行
“Hello”とコンソールにログを出力させるやり方で確認することになる。
と、ここまでiOSアプリのUIの仕組みについてやってきたが、なんとなくだが仕組みが分かったような気もしないでもない。笑
ま、とりあえず頭に知識を詰め込んでおけば後から実際にアプリ開発した時に、「ああ、あれはこのことを言っていたのか~」とか納得する場面がきっと出てくるはず。
まあ頑張りましょ。
コメント