Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 314 - My Picker Projectを開始

Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide
質問 : Swiftで遊ぼう! - 252 - FaceViewプロジェクト始動 - Swiftで遊ぼう! on Hatena

Beginning iPhone Development with Swift: Exploring the iOS SDK

Beginning iPhone Development with Swift: Exploring the iOS SDK

Sequeを使わないマルチビューの取り扱いをMy Fourth Projectで勉強しました。

Segueという便利な機能を使わない実装の仕方に違和感があったけど、Storyboardのメソッドを使ってViewControllerを切り替えるところはSegueと似ています。

次は、ユーザーの入力をコントロールするPickerの仕組みを学びます。私が作りたいアプリには必須の機能なのでしっかりと理解して使えるようにします。

まず、いつものようにプロジェクトを作成します。こんどは「My Picker Project」にします。

プロジェクト選択時に、「Tabbed Application」というテンプレートが用意されていますが、コーディングの練習のためいつものようにSingle View Applicationを選びます。

いつものようにViewController.swiftが用意されています。

このViewControllerはコンテナ・ビュー・コントローラー(コンテナ・コントローラー)として働きます。My Fourth Projectでは、自分でそのメカニズムをコーディングしましたが、Xcodeは、標準コンテナ・コントローラーとして「UITabBarController」、「UINavigationController」、「UIPageViewController」をテンプレートとして持っているので、ViewController.swiftのコードを少し変更します。

class ViewController: UIViewController {

これをマニュアル的にタイプして変更

class ViewController: UITabBarController {

こうやってコードを変更しても、ストーリーボードに見えるViewControllerは「UIViewController」クラスのジェネリックオブジェクトなので、消してしまいます。ViewControllerを選択して、「delete」ボタンを押します。ストーリーボードは真っ白になりました。

次は、5つのコンテンツビューをコントロールするViewControllerを用意します。このやり方も既に説明しています。メニューからでもプロジェクトナビゲータで右クリックでもかまわないので下のように5つのViewControllerを作ります。

f:id:yataiblue:20150518113723j:plain

  1. DatePickerViewController
  2. SingleComponentPickerViewController
  3. DoubleComponentPickerViewController
  4. DependentComponentPickerViewController
  5. CustomPickerViewContoroller

次に白紙のMain.storyboardに戻って、オブジェクト・ライブラリからTab Bar Controllerを選んでドラッグ&ドロップします。

コンテンツビューを2つ持ったTabBarControllerのテンプレートがジェネリックな形でストーリーボードに設置されます。

f:id:yataiblue:20150518125254j:plain

さて、ストーリーボードに新しく設置されたTab Bar Controllerはジェネリックなので、コードに繋げていく必要があります。2つすべきことがあります。まず、アトリビュート・インスペクタを選び、「Is initial View Controller」を選んで、アイデンティティ・インスペクタのClassに「ViewController」を選びます。

今日はここまで。