6

ここに画像の説明を入力

Xcode で、Storyboards を使用する単純な iPad アプリケーションを作成して、エントリごとに DetailView コントローラーを交換するにはどうすればよいですか? 私が見たほとんどの例では、iPhone を使用するか、同じ詳細ビュー コントローラーの値を変更するだけです。

Interface Builder で静的な TableView コントローラー (たとえば 3 行) からセグエを作成したいと考えています。各行は異なるゲーム詳細ビュー コントローラーをロードし、それをドラッグして IB で設計します。現在、View Controller をセグエに接続すると、UISplitViewController のナビゲーション部分が置き換えられます。言い換えれば、ツリーをトラバースしているようなもので、ルート ノードにいること、詳細ビ​​ューを変更する必要があることを IB に伝える必要があります。

4

3 に答える 3

18

セグエの出発点としては、スタンフォード大学の CS193p Fall 2011 クラスの講義 6 と 7 が適しています。

http://itunes.apple.com/us/itunes-u/ipad-iphone-application-development/id473757255

インストラクターのポール・ヘガティがすべてをカバーします。しかし、彼は授業が終わるまでにこの質問に答える時間がありません。彼はファイルに最終的な解決策を含むソースを含めています: Psychoologist with Dr Pill.zip.

http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall

基本的に、この質問に対して実行する必要があるのは、各 UITableCell からそれぞれのゲーム詳細ビュー コントローラーに Ctrl キーを押しながらドラッグし、Replace segue を選択することだけです。デフォルトでは、Xcode はマスター コントローラーを置き換えたいと考えているため、ビュー コントローラーが縮小するため、もう 1 つの手順があります。セグエごとに接続線を選択し、属性インスペクターで宛先を「マスター分割」から「詳細分割」に変更します。この時点で、コードを記述せずにポップオーバーでテストできます。

マスター分割先

詳細分割先

解決

于 2012-04-09T02:19:38.480 に答える
1

Apple は、マスター ビューで選択されているものに基づいて異なる詳細ビューを交換する方法の問題に対する、より一般的な解決策のサンプル コードを提供しています。Apple のサンプル コードでは、UISplitViewControllerDelegate プロトコルのカスタム実装を導入することでこれを実現しています。

https://developer.apple.com/library/ios/samplecode/MultipleDetailViews/Introduction/Intro.html

于 2013-10-23T14:02:31.953 に答える
0

写真なしで説明するのは難しいですが、ナビゲーションコントローラーをマスターとして使用してください。次に、各詳細ビューを、これを置き換える名前付きセグエでぶら下げます。次に、少しコードが必要です。didSelectRowAtIndexPath 内でビューコントローラーをマスターするには、indexpath.row に基づく switch ステートメントが必要であり、各行で detailview performSegueWithIdentifier:@"the row you want" を呼び出します

于 2012-03-23T06:52:43.123 に答える