66

Xcode7 betaas という名前の新しいコントロールが 1 つありStoryboard Referenceます。以下はその画像です。

ここに画像の説明を入力

次のような説明があります。

外部ストーリーボードのビュー コントローラーのプレースホルダーを提供します。このプレースホルダーに接続されたセグエは、参照されたビュー コントローラーを実行時にインスタンス化します。

だから質問は

  1. どのような状況でこれを使用する必要がありますか?
  2. これは、セグエ経由で 2 つのストーリーボードのビュー コントローラーを接続するために使用されますか?
  3. このアプローチは、別のストーリーボードの VC をプログラムで置き換えるために使用されますか?
  4. 古い iOS バージョン (iOS 9 より前) で動作しますか?
4

7 に答える 7

38

絵コンテ参照の使い方

他の答えは私の質問に正しいです。

Storyboard Referenceそして、コードを記述せずにセグエを介して別のストーリーボードからビューコントローラーを開くために使用されるの使用法を投稿したいと思います。:)

手順

  1. 最初に 1 つの新しいストーリーボードを作成し、任意の名前を付けます (名前を付けましたNewStoryboard)。
  2. ビュー コントローラー (または任意のビュー コントローラー) を に配置しNewStoryboardます。
  3. を与えてくださいStoryboard ID(私は を与えましたnewVC)。

ここに画像の説明を入力

  1. メインのストーリーボードに戻ります。
  2. Storyboard Referenceこのストーリーボードでコントロールをドラッグ アンド ドロップします。
  3. Storyboard Referenceコントロールを選択し、を選択しますAttributes Inspector
  4. 新しい絵コンテを選択しますNewStoryboard
  5. 参照 ID を提供newVCします (ストーリーボードで使用したものNewStoryboard)。
  6. Storyboard Referenceこれを ViewController からセグエ経由で接続します。これで、コードを記述せずにセグエ経由でこの VC が開きます。:)

ここに画像の説明を入力

于 2015-06-11T06:02:56.027 に答える
9
  1. 古い iOS バージョン (iOS 9 より前) で動作しますか?

多分そうではないように見えます:/

ストーリーボードの参照には、少なくとも iOS 9.0、OS X 10.11、または watchOS 用の WatchKit 2.0 を対象とするアプリが必要でした。

ソース: watchOS 開発者ライブラリ: 別のストーリーボードへの参照の追加

于 2015-06-14T01:21:48.320 に答える
6
  1. 古い iOS バージョン (iOS 9 より前) で動作しますか?

回避策は次のとおりです (Xcode 8 および iOS 8.2 で検証済み):

  1. タブのビュー コントローラーで、フレームがビュー全体を占めるコンテナー ビューを追加します (必要に応じて、これを行うための制約を追加します)。
  2. コンテナー ビューによって自動的に追加された埋め込みビュー コントローラーを削除します。
  3. ストーリーボード参照を作成し、埋め込みセグエをコンテナー ビューからこの参照にドラッグします。
  4. まだ行っていない場合は、ストーリーボードを作成し、ストーリーボード参照を割り当てます。
  5. 新しいストーリーボードでは、最初のビュー コントローラーを選択し、属性インスペクターの [シミュレートされたメトリック] -> [ボトム バー] で、表示するタブ バー (例: 半透明) を選択することで、タブ バーの外観をシミュレートできます。

スクリーンショット

于 2016-10-18T18:17:15.937 に答える
3

iOS 8 を使用して Xcode 7 でストーリーボード参照をテストしたところ、失敗しました。

Illegal Configuration: Storyboard References cannot be the destinations of 
relationship segues prior to iOS 9.0
于 2015-09-24T02:43:55.783 に答える
3

Xcode リリースの最新のiOS 開発者ライブラリドキュメントには、このメモも追加されています (現在のバージョン: Xcode 7.2.1) :

ストーリーボード参照は、iOS 8、OS X 10.10、および watchOS 1 に展開できるようになりました。

これは朗報ですが、次の点に留意してください。

ストーリーボード参照は、iOS 9.0 より前の関係セグエの宛先にすることはできません

したがって、これらの 2 つの箇条書きを認識している場合は、問題ありません:)

于 2016-02-11T14:08:34.833 に答える
2

画面とモジュールが多すぎる大きなアプリケーションがある場合、モジュールごとにストーリーボードを複数のストーリーボードに分割することは、適切で便利なオプションです。複数のストーリーボードを使用しているときに、異なるストーリーボードのviewController間でセグエを接続する必要がある場合は、このコントロールを使用できます。このコントロールを使用している場合は、instantiateViewController や pushViewController などのコーディングを行う必要はありません。セグエを接続してセグエを実行し、必要に応じて prepareForSegue を使用できます。

あなたのすべての質問について話し合いましょう:

  1. どのような状況でこれを使用する必要がありますか? -上記の答えを見つけたと思います。

  2. これは、セグエ経由で 2 つのストーリーボードのビュー コントローラーを接続するために使用されますか? -はい

  3. このアプローチは、別のストーリーボードの VC をプログラムで置き換えるために使用されますか? -このコントロールを使用している間、コーディングとは関係ありません

  4. 古い iOS バージョン (iOS 9 より前) で動作しますか? -うまくいくかもしれませんが、試していません

于 2015-06-11T05:35:27.407 に答える