2

次のストーリーボード設定があります

ユーザーが保存ボタンを押したときに、(画像に示すように) BodyMapViewController から MoleDetailsView コントローラーにジャンプする必要があります。

非常に簡単なモーダル ビューを使用できますが、問題は、ユーザーが MoleDetailsView から MoleHistory および dermalHistory ビューに戻れるようにすることです。

基本的に、次の手順を実行する必要があります。

  • タブを切り替える
  • DermalHistoryView から MoleHistoryView に移動して、MoleDetails ビューに移動します。

絵コンテ

4

1 に答える 1

1

正しいビューが表示されるように、タブを切り替えてビュー階層を手動で変更する必要があるという考えです。

まず、他のタブを制御するナビゲーション コントローラーを取得します。これにより、次のように NSMutableArray を使用してビュー階層をインスタンス化できます。

-(void)pushToMoleDetailViewController:(id)detailItem
{

    UINavigationController *navCon = [self.navigationController.tabBarController.viewControllers objectAtIndex: 1];

    UIStoryboard *storyboard = self.storyboard;
    DermalHistoryViewController *dermalHistory = [storyboard instantiateViewControllerWithIdentifier:@"DermalHistoryViewController"]

    //configure dermal history here


    NSMutableArray *viewControllers = [[self navigationController].viewControllers mutableCopy];
    [viewControllers addObject: dermalHistory];

    MoleHistoryViewController *moleHistory = [storyboard instantiateViewControllerWithIdentifier:@"MoleHistoryViewController"]

    //configure mole history here
    [viewControllers addObject: moleHistory];

    MoleDetailsViewController *moleDetails = [storyboard instantiateViewControllerWithIdentifier:@"MoleDetailsViewController"]

    //configure mole details here
    [viewControllers addObject: moleDetails];



    navCon.viewControllers = viewControllers;
    self.navigationController.tabBarController.selectedIndex = 1;
}

この質問を見てください: アニメーションなしでセグエをプッシュする

于 2013-06-22T06:44:42.530 に答える