「Ios/swift/画面遷移」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→戻るボタンを追加) |
|||
(同じ利用者による、間の1版が非表示) | |||
行50: | 行50: | ||
==戻るボタンを追加== | ==戻るボタンを追加== | ||
#遷移元のViewController.swiftに以下追加 | #遷移元のViewController.swiftに以下追加 | ||
− | @IBAction func back(segue:UIStoryboardSegue){ | + | @IBAction func back(segue:UIStoryboardSegue){ |
print("back") | print("back") | ||
} | } | ||
#遷移先の画面にButtonを追加し、そのButtonをExitボタン(上の3つのマークのうち一番右)にドラッグしbackを選択 | #遷移先の画面にButtonを追加し、そのButtonをExitボタン(上の3つのマークのうち一番右)にドラッグしbackを選択 | ||
+ | |||
+ | ==コードで戻る== | ||
+ | 通常の場合 | ||
+ | self.dismissViewControllerAnimated(true, completion: nil) | ||
+ | ナビゲーションの場合 | ||
+ | self.navigationController?.popViewControllerAnimated(true) | ||
+ | |||
+ | 参考:http://qiita.com/omatty198/items/cb037b8aa8b9b410be03 | ||
==参考== | ==参考== | ||
http://qiita.com/h_nagami/items/66dc637463f98716bfa5 ViewController作成 | http://qiita.com/h_nagami/items/66dc637463f98716bfa5 ViewController作成 | ||
http://qiita.com/39_isao/items/5f09c96a8a4c2de7c8fe 画面遷移によるデータ渡し | http://qiita.com/39_isao/items/5f09c96a8a4c2de7c8fe 画面遷移によるデータ渡し |
2016年8月5日 (金) 20:45時点における最新版
目次
遷移先のViewController.swift作成
- プロジェクトからNewFileを作成しSwiftFileを作成する
- 名前をSecondViewControllerとする
- するとSecondViewController.swiftがつくられる
以下の通りSecondViewController.swiftを書き換える
import UIKit class SecondViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = .redColor() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
遷移先のViewControllerのstoryboardを作成する
- storyboardのオブジェクトからViewControllerをstoryboardに貼り付ける
- 上部の3つのボタンのうち一番左をクリックしCustomClass名に"SecondViewController"と入力する
遷移元画面に遷移ボタンを設置&アクションを追加
- buttonオブジェクトを遷移元画面のStroyboardに貼り付ける
- butoonをクリックし、Controlを押したまま遷移先画面にドラッグ
- action->showを選択する
- シミュレーションを実行し、画面遷移を確認
画面遷移時のデータ渡し
- ViewController.swfit
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){ var secondViewController:SecondViewController = segue.destinationViewController as! SecondViewController secondViewController.sendText = self.testlabel.text }
- SecondViewController.swift
import UIKit class SecondViewController: UIViewController { @IBOutlet weak var label2: UILabel! var sendText:String? = "initdata" override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = .redColor() self.label2.text = self.sendText } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
戻るボタンを追加
- 遷移元のViewController.swiftに以下追加
@IBAction func back(segue:UIStoryboardSegue){ print("back") }
- 遷移先の画面にButtonを追加し、そのButtonをExitボタン(上の3つのマークのうち一番右)にドラッグしbackを選択
コードで戻る
通常の場合
self.dismissViewControllerAnimated(true, completion: nil)
ナビゲーションの場合
self.navigationController?.popViewControllerAnimated(true)
参考:http://qiita.com/omatty198/items/cb037b8aa8b9b410be03
参考
http://qiita.com/h_nagami/items/66dc637463f98716bfa5 ViewController作成 http://qiita.com/39_isao/items/5f09c96a8a4c2de7c8fe 画面遷移によるデータ渡し