mixi iOS Training 第二回分メモ
書式がちっとも安定しませんが、今回は授業内容についてのみです。
書いていたメモが長過ぎたので、箇条書きにしてみました。
授業毎にサービス・アプリ&エンジニア紹介的なLTがあるのですが、今回のLTはデプロイゲートのhentekoさんでした。
今回の授業で扱ったのは資料の1.3と1.4です。
1.3 UIViewController1 UIViewController のカスタマイズ
- iOSで画面の一単位を扱う時のクラスがUIViewController
- UIViewControllerのカスタマイズはxib(きっちり書ける。再利用パーツ得意)かstoryboard(複数間連携得意)でやる
- 講座では主にstoryboardでの操作方法についてやる
- 試しに画面のレイアウトを作ってみる
- パーツで使っている変数をプロパティとして取得してみる
- 表示されているパーツのプロパティを変更したい場合は、UIViewControllerのインタフェースファイル(.h)に、以下のようにIBOutlet追加。
- privateっぽくしたければ.mでもよい(gitterより)
- 表示されているパーツのプロパティを変更したい場合は、UIViewControllerのインタフェースファイル(.h)に、以下のようにIBOutlet追加。
@property (nonatomic, strong) IBOutlet UILabel *label;
storyboardに戻ってUIViewControllerの部分を右クリックすると、パネルが出て、Outletsの項にさっき追加したプロパティ名がある。そこの○と結びつけたいパーツをドラッグで結びつける
viewDidLoadイベントの中でそのプロパティをいじってみて確かめる
- パーツのアクションを登録して動かしてみる
- UIViewControllerの実装ファイル(.m)にIBActionのメソッドを追加
@implementation - (IBAction)buttonTapped:(id)sender { self.label.text = @"YES"; } @end
storyboardに戻ってUIViewControllerの部分を右クリックすると、パネルが出て、ReceivedActionsの項にさっき追加したメソッド名がある。そこの○と結びつけたいパーツをドラッグで結びつける
- ここまででシミュレータで確認する
1.4 UIViewController2 ModalViewController (storyboard)
- UIViewControllerは他のViewControllerと連携して新しいViewControllerを表示するという役割がある
- 連携方法は、Modal, Navigation Controller, TabBarControllerなど
- 講義で扱ったのはModal
- ModalViewController(子)とModalViewControllerを生成して表示するUIViewController(親)は親子関係にある。
- UIViewControllerは、property:presentedViewControllerに表示対象のModalViewControllerへの参照を持つ
- ModalViewControllerはproperty:presentingViewControllerに親のUIViewControllerへの(弱)参照を持つ(非推奨なので使わない?)
- ModalViewControllerを削除する責任を持つのは親のUIViewController
- 画面遷移にはsotryboardの場合segueを利用して設定する
- segueを利用すると、Buttonをクリックして、遷移先のViewControllerまでドラッグするくらいの手間で基本的な画面遷移ができる
- Stroryboard Segue Identifierあたりを利用して、任意のアクションに応じて遷移するように書くこともできる
- 画面を閉じる時の処理の実装手順の概要