1

Facebook に似た、スライド アウト メニューとタブバーを備えたアプリに取り組んでいます。私の問題は、SWRevealController が完全に機能し、すべてが正常に移行することです。ただし、ビューを変更すると、タブ バーのボタンは非表示になります。ストーリーボードの階層を見てみましょう: https://drive.google.com/a/stolaf.edu/file/d/0BxPvzAFa0lPjclp4c01Jb1RsQ1U/view

各ビューをプッシュするセグエ プッシュ コードを次に示します。

- (void) prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender
{
    // Set the title of navigation bar by using the menu items
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

    UINavigationController *destViewController = (UINavigationController*)segue.destinationViewController;
    // Set the photo if it navigates to the PhotoView


    if ([segue.identifier isEqualToString:@"tab"]) {


        Tabbar *photoController = (Tabbar*)segue.destinationViewController;

        photoController.name = [NSString stringWithFormat:@"%ld",(long)indexPath.row];
    }




    if ( [segue isKindOfClass: [SWRevealViewControllerSegue class]] ) {


        SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue;

        swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) {


            UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController;
            [navController setViewControllers: @[dvc] animated: NO ];

            [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
        };

    }

}

完全にはわかりませんが、セグエで作成されたナビゲーションコントローラーは、タブバーの上に追加されているため、すべてのタブバーボタンを完全に隠していると思います。何かご意見は?

4

2 に答える 2

1

私はあなたと同じ問題を抱えており、このコードを書きました。最初に taBarController を取得し、次にナビゲーション コントローラーを取得する必要があります。

if ( [segue isKindOfClass: [SWRevealViewControllerSegue class]] ) {
    SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue;

    swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) {

        UITabBarController *tab = (UITabBarController *)self.revealViewController.frontViewController;
        int index = tab.selectedIndex;
        UINavigationController *nav = [tab viewControllers][index];
//        [nav pushViewController:dvc animated:YES];
        [nav setViewControllers: @[dvc] animated:NO];
        [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
    };

}
于 2015-01-01T10:50:55.900 に答える
0

私は同じ問題に遭遇しました..簡単なことをする

self.view.tabbarcontroller.tabbar.hidden=NO;

私のためにトリックをしました、

これをビューに追加して、特定のビューコントローラーのメソッドをロードすると、正常に実行されます。

于 2014-12-16T07:18:17.953 に答える