iOSプログラミング with Swift 3


2016.05.27: created by
2017.04.27: created by

Swiftで別の画面に移動する (Segue で)

  1. Xcode を起動して "Create a new Xcode project" で "Single View Application" として新しいプロジェクトを開きます。 ここではプロジェクト名を SwiftSegue としています。



  2. Main.storyboard上の ViewController の右隣に、ウィンドウ右下の "Object library" から "View Controller" をドラッグして配置します。



  3. Main.storyboard上の ViewController の中に、ウィンドウ右下の "Object library" から "Button" をドラッグして配置します。Buttonのtextは "Go" に変更しました。



  4. Main.storyboard 上で "Button" を1回クリックして選択してから、マウスを右ドラッグ (または Control + 左ドラッグ)し、で新しく作成した View Controller 上でマウスのボタンを離します。



  5. Action Segue から Present Modally を選択します。




    元のView Controller から新しい View Controller に向けて Segue を表す矢印が表示されて、 画面が遷移できることを表します。




  6. ウィンドウ左の "Show the project navigator" でプロジェクト名のフォルダを右クリックして"New File"を選択する。



  7. "Choose a template for your new file" では、 iOS -> Source -> "Cocoa Touch Class"を選択して"Next"をクリックする。



  8. Subclss of: に対しては "UIViewContoller" を、言語には "Swift" 選択し Class: には適当な名前をつける。ここでは ViewController2 とした。



  9. ViewController2.swift が生成されるフォルダは、他のファイルと同じく SwiftSegue のままで構わない。



  10. ウィンドウ左の project navigator から Main.storyboardを選ぶ。 新しくできた View Controller を1回クリックして選択してから ウィンドウ右の "Show the identity inspector" を選んで、Custom Class の Class を先ほど作成した ViewController2 を選択する。






  11. Main.storyboard上の右の(新しい)View Controller上に、ウィンドウ右下の "Show the object library" から Button を配置する。 ボタンのtextは "Back" に変更しておく。



  12. Main.storyboardが表示されている状態で、 ウィンドウの右上の "Show the Assistant Editor" ボタン をクリックし、さらに Main.storyboard上で右の新しい View Controller を選択して、 右側のウィンドウに ViewController2.swift が表示されている状態にします。



  13. Main.storyboard上の右側の新しいView Controller 上の Button ("Back"というtextです)を1回クリックして選択してから、 右マウスボタン(またはControllキー+左マウスボタン)でドラッグして、 右側の画面のViewController2.swift の
    class ViewController2: UIViewController {
    
    の下の行まで持っていきます。 ConnectionはAction, Name は tapBack として Connect をクリックしましょう。



  14. ViewController2.swift に
    @IBAction func tapBack(sender: AnyObject) {
    }
    
    という2行が追加されます。



  15. ViewController2.swift を変更します。
  16. ViewController2.swiftに追加するコード(赤字部分)
    import UIKit
    
    class ViewController2: UIViewController {
        @IBAction func tapBack(sender: AnyObject) {
            dismissViewControllerAnimated(true, completion: nil)
        }
    
        override func viewDidLoad() {
            super.viewDidLoad()
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    
    }
    
  17. Xcodeを起動中にiOSデバイスを Mac に接続すると、 Xcode のstatusに "Processing symbol files"
    と表示されて、しばらく待つと 左上の実行デバイスに 接続したiOSデバイスの名前が表示される。 これを選択して実行する。



  18. サンプルのプロジェクトはこちら。(Xcode 8.3.2版)


http://karel.tsuda.ac.jp