Swiftで遊ぼう! - 298 - Split View Controller - prepareForSegue()
Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide
質問 : Swiftで遊ぼう! - 252 - FaceViewプロジェクト始動 - Swiftで遊ぼう! on Hatena
今日はSegueのコーディングをします。
Segueのコーディングもある意味、定型化されていて覚えておくべきでしょう。ボタンを配置したメインのViewControllerにコーディングをしていきます。
class ViewController: UIViewController { }
このクラスの中にprepareForSegueとタイプしていくとコーディングのための補完機能が働きます。
これを選べば自動的にoverrideのキーワードが付いてコードを入力する準備状態になります。
そして「定型文」を入力します。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if let ivc = segue.destinationViewController as? ImageViewController { if let identifier = segue.identifier { switch identifier { case "Earth": ivc.imageURL = DemoURL.NASA.Earth ivc.title = "Earth" case "Cassini": ivc.imageURL = DemoURL.NASA.Cassini ivc.title = "Cassini" case "Saturn": ivc.imageURL = DemoURL.NASA.Saturn ivc.title = "Satrun" default: break } } } }
これで準備はできたのですが、このままラン(Cmd + R)してもスタンフォード大学の風景が出たままになっています。
というのも作成されるImageViewControllerのviewDidLoad()内にある次のコードを消す必要があります。
if image == nil { imageURL = DemoURL.Stanford }
これでSegueが動きます。
Earthボタンを押すと
バックしてCassiniボタンを押すと
巨大な画像の一部しか表示されていないのです。
ここでスクロールビューが必要になるということです。
今日はここまで。