1

このプロジェクトには Xcode 4.3.3 と Storyboards を使用しています。

リストに到達するまで、ナビゲーションコントローラーを使用していくつかのレベルをドリルダウンするマスタービューコントローラーがあります。ユーザーがそのリストからセルを選択すると、詳細ビ​​ュー コントローラーが新しいビュー コントローラーに変更されます。次に、ユーザーがマスター ビュー コントローラーの上部に戻ると、詳細ビ​​ュー コントローラーがポップ オフして、元のビュー コントローラーが再び表示されるようにします。

セグエを使用してある程度動作させることはできますが、新しい詳細ビューコントローラーをポップオフして元のビューコントローラーを表示しようとすると、非常に混乱します。また、ポートレート モードでマスター ビューのポップオーバーを制御する BarButtonItemPresenter デリゲートもめちゃくちゃになります。プログラムでこれを行う方法はありますか?もしそうなら、サンプルコードは大歓迎です。

4

2 に答える 2

0

答えは少し遅く、あなたの質問は少し混乱していますが...

uiSplitViewController にタグを付けたようです。iPadでビューコントローラーをポップしようとしてしばらく困惑しましたが、これは機能しません。

[self.navigationController popViewControllerAnimated:YES]; 

代わりに試してください:

[self.detailViewController.navigationController popViewControllerAnimated:YES];

iPad の分割ビュー コントローラーは、2 つ目のナビゲーション コントローラーを使用しているようです。これを覚えておいてください。

回答とずれていたらすみません。

于 2012-11-04T13:11:02.243 に答える
0

マスター ビュー コントローラーから詳細ビュー コントローラーへのセグエで解決しました。属性インスペクターで、「Destination」を「Detail Split」に設定し、「Identifier」を意味のあるものに設定します(「Show Customer」を使用しました)。次に、マスタービューコントローラーでこれを呼び出します...

[self performSegueWithIdentifier:@"Show Customer" sender:self];
    [self setDelegate:(id<CustomerTableViewControllerDelegate>)[self.splitViewController.viewControllers objectAtIndex:1]];
//call some method here to prepare your detail view controller
于 2012-08-02T19:07:01.637 に答える