web-dev-qa-db-ja.com

Swiftを使用してストーリーボードを切り替える

Xcodeプロジェクトでストーリーボードが大きくなりすぎて、コンピューターの速度が低下します。プログラムで(または手動でストーリーボードを使用して)ボタンを使用して現在のストーリーボードのビューの1つから新しいストーリーボードのビューに進むにはどうすればよいですか?

Xcodeの準新機能により、シンプルであるほど良い。ありがとう!

25
Seth

この方法でプログラムで実行できます。

Swift 3 +

let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "ViewControllerID") as UIViewController
present(vc, animated: true, completion: nil)

古い

let storyboard = UIStoryboard(name: "myStoryboardName", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("nextViewController") as UIViewController
presentViewController(vc, animated: true, completion: nil) 

並べ替えでは、次のようにできます:

presentViewController( UIStoryboard(name: "myStoryboardName", bundle: nil).instantiateViewControllerWithIdentifier("nextViewController") as UIViewController, animated: true, completion: nil)

そして、nextViewControllerにIDを与えることを忘れないでください。

詳細については [〜#〜] this [〜#〜] を参照してください。

44
Dharmesh

0行のコード

Interface Builderを使用する

  1. ソースストーリーボードにストーリーボードリファレンスを追加します
    Storyboard Reference
  2. UIButtonからその場所へのControlキーを押しながらドラッグストーリーボードリファレンス
    enter image description here
  3. Storyboard ReferenceプレースホルダーのAttributesインスペクターで、宛先Storyboardおよびオプションで宛先参照IDターゲットのUIViewControllerおよびBundle
    enter image description here

完全な画像

enter image description here

37
SwiftArchitect

Swift 3ソリューション:

present( UIStoryboard(name: "CreateOrder", bundle: nil).instantiateViewController(withIdentifier: "firstOrderViewController") as UIViewController, animated: true, completion: nil)
5
Lunarchaos42