1

开发具有滑出式菜单和标签栏的应用程序,类似于 facebook。我的问题是 SWRevealController 工作得很好,一切都很好。但是,标签栏按钮在视图更改后会隐藏。看看我的故事板层次结构: https ://drive.google.com/a/stolaf.edu/file/d/0BxPvzAFa0lPjclp4c01Jb1RsQ1U/view

这是推送每个视图的 segue 推送代码。

- (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];
        };

    }

}

不完全确定,但我认为在 segue 中创建的导航控制器是在标签栏上添加的导航控制器,因此完全隐藏了所有标签栏按钮。有什么想法吗?

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 回答