開発環境
Xcode 11.6
Swift 5.2.4
こちらの記事を見ながら
Swiftで画面遷移の実装を試みましたがボタンを押しても画面遷移しません
やり方としてはSegueを使わない画面遷移方法で画面遷移先にStoryboardID(view2)を指定して画面遷移する方法です
ViewController.swift(画面遷移元)
Swift
1import UIKit 2 3class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view. 8 view.backgroundColor = UIColor.red 9 } 10 11 @IBAction func goNext(_ sender: Any) { 12 13 let storyboard: UIStoryboard = self.storyboard! 14 15 let nextView = storyboard.instantiateViewController(withIdentifier: "view2") as! SecondViewController 16 17 self.present(nextView, animated: true, completion: nil) 18 } 19 20 21} 22
画面遷移先にも何か記述が必要なのでしょうか?
storyboard と nextView の値を教えて下さい。
>>storyboard と nextView の値を教えて下さい。
StoryboardIDのことでしょうか?
StoryboardIDはview2です
すいません初心者で詳しくわかっておりません汗汗
goNext(_:)の中の変数のことです。
goNext(_:)の中の変数の見方はどうやって見ればいいいのでしょうか?m(_ _)m
printで表示して下さい。
printでの表示の仕方なのですが
最後の行に追加した
@IBAction func goNext(_ sender: Any) {
// ①storyboardのインスタンス取得
let storyboard: UIStoryboard = self.storyboard!
// ②遷移先ViewControllerのインスタンス取得
let nextView = storyboard.instantiateViewController(withIdentifier: "view2") as! SecondViewController
// ③画面遷移
self.present(nextView, animated: true, completion: nil)
print(storyboard) //追加
print(nextView) //追加
}
この形でよろしいのでしょうか?????♂️
それでも良いのですが、それぞれの代入の直後に追加する方が、より良いと思います。
(別に間違っていても爆発するわけじゃないので、聞く前に試しましょう)
試したのですがコンソールに表示されないのですがどうしたらいいでしょうか?m(_ _)m
何も表示されないということは、goNext(_:)が呼ばれていないということです。
ボタンのActionが設定されていないのでは?
なるほどありがとうございます!!
ボタンのアクションを設定することで移動できました!
回答1件
あなたの回答
tips
プレビュー