Takunojiの日記

自分が勉強したプログラム技術メモ

Main.storyboard 実装編

前回チュートリアルを見ながらstoryboardの仕組みを学習しました。

今回は、それを踏まえて実装して見ました。
まずstorybordは以下の様な感じです。

f:id:Takunoji:20170827203805p:plain

ぶっちゃけて、実装なしで起動しても見た目のみなら表示できます。
その代わり、ストーリボード上で作成する必要があります。
画面の見た目(動きなし)であればストーリボードのみで作成ができます。
※画面切り替え(タブを使用するなどすればコードなしでもある程度いけます)

そして、今回の作成時のポイント(ハマったところ)はMain.storyboardに
IDなどを重複してつけるとエラーが出ることです。
Thread 1: signal SIGABRT」こいつが原因を突き止めるのに大変でした。
storyboardにある各部品上で右クリックして黄色の三角マークを消してやる方法で
解消しました。
参考サイト:

qiita.com


そして、動き(タップ時に〜動かす)などは各Viewを初期化する時にイベントハンドラ
を設定してやるのがプログラミングの常套手段ですので、その時の初期化処理の
呼び出し方を発見するのに手間取りました。
結局のところは、親クラス(UIViewController)の初期化処理をオーバーライドしてやる
ということなので、以下の様になりました。※中身は未実装です。
ちなみに「required」修飾子は子クラスにもオーバーライドを矯正するものらしいです

f:id:Takunoji:20170827205341p:plain

あと、「?」「!」はオプショナルで。。。まぁ「Null」との新しい付き合い方を使用する時に使います。※詳細は、こちら演算子一覧見たくなってました)

なんだかんだで作成したストーリボードです。
ルートになるViewControllerにContanerViewを2つ追加してます
上が入力用のコンテナ、下が描画用のコンテナになってます。

f:id:Takunoji:20170827205942p:plain

そして、各swiftファイル、画面コンポーネント一覧
ルートになるのが「ViewController.swift」で上のコンテナが「InputView...」です。
InputにはImageFileを追加しております。※「Assets.xcasets」に配置してます。

f:id:Takunoji:20170827210159p:plainf:id:Takunoji:20170827210237p:plain


そして、実行結果です。
下の方に「 *** Testgin ***」が出力されていると思います(笑)

f:id:Takunoji:20170827205907p:plain


以上、実装編その1でした。