标签栏不隐藏使用 DDMenuController(Fb 像滑动菜单)

     2023-03-22     164

关键词:

【中文标题】标签栏不隐藏使用 DDMenuController(Fb 像滑动菜单)【英文标题】:Tab Bar not hiding Using DDMenuController (Fb like sliding menu) 【发布时间】:2013-06-28 11:00:18 【问题描述】:

我在过去两天遇到了这个问题,但可以找到任何解决方案。有人可以帮忙吗。这是用于 TabBar 视图控制器的代码 sn-p。

//设置标签栏

NSMutableArray *tabBarViewControllers = [[NSMutableArray alloc] initWithCapacity:5];

self.tabBarController = [[UITabBarController alloc] init];

[tabBarController

 setDelegate:self];

    UINavigationController *navController = nil;

    NSArray *vcArray = [self papulateViewControllers];

// 设置标签栏的视图控制器

-(NSArray *) papulateViewControllers
    BrowseViewController *browseVC = [[BrowseViewController alloc] initWithNibName:@"BrowseViewController" bundle:nil];

    AlbumViewController *albumVC = [[AlbumViewController alloc] initWithNibName:@"AlbumViewController" bundle:nil];


    SubmitStep1VC *submitVC = [[SubmitStep1VC  alloc] initWithNibName:@"SubmitStep1VC" bundle:nil];
    // SubmitStep1VC *submitVC = [[SubmitStep1VC  alloc] initWithNibName:@"SubmitStep1_iPhone5.xib" bundle:[NSBundle mainBundle]];

    WallViewController *wallVC = [[WallViewController  alloc] initWithNibName:@"WallViewController" bundle:nil];

    OptionVC *optionVC = [[OptionVC alloc] initWithNibName:@"OptionVC" bundle:nil];


    sliderVCRef = [[SliderVC alloc] initWithNibName:@"SliderVC" bundle:nil];

    //Navigation Controllers
    UINavigationController *browseNavController = [[UINavigationController alloc] initWithRootViewController: browseVC];
    [browseNavController setNavigationBarHidden:YES];

    UINavigationController *albumNavController = [[UINavigationController alloc] initWithRootViewController: albumVC];
    [albumNavController setNavigationBarHidden:YES];

    UINavigationController *submitNavController = [[UINavigationController alloc] initWithRootViewController: submitVC];
    [submitNavController setNavigationBarHidden:YES];

    UINavigationController *wallNavController = [[UINavigationController alloc] initWithRootViewController: wallVC];
    [wallNavController setNavigationBarHidden:YES];

    UINavigationController *optionNavController = [[UINavigationController alloc] initWithRootViewController: optionVC];
    [optionNavController setNavigationBarHidden:YES];

    DDMenuController *browseMenuController = [[DDMenuController alloc] initWithRootViewController:browseNavController];

    self.menuController = browseMenuController;
    self.menuController.leftViewController = sliderVCRef;

    DDMenuController *albumMenuController = [[DDMenuController alloc] initWithRootViewController:albumNavController];
    albumMenuController.leftViewController = sliderVCRef;

    DDMenuController *submitMenuController = [[DDMenuController alloc] initWithRootViewController:submitNavController];
    submitMenuController.leftViewController = sliderVCRef;

    DDMenuController *wallMenuController = [[DDMenuController alloc] initWithRootViewController:wallNavController];
    wallMenuController.leftViewController = sliderVCRef;

    DDMenuController *optionMenuController = [[DDMenuController alloc] initWithRootViewController:optionNavController];
    optionMenuController.leftViewController = sliderVCRef;

/// Works fine if i uncomment this line and comment next line of code (Passing Viewcontrollers is fine )

//   return [NSArray arrayWithObjects:self.menuController, albumVC, submitVC, wallVC, optionVC, nil];


////*******  issue in case i use this line   (Passing menuController creates issue of Tabbar )

    return [NSArray arrayWithObjects:self.menuController, albumMenuController, submitMenuController, wallMenuController, optionMenuController, nil];

////////////


当我尝试从 TabBarController 上方的任何视图推送到任何视图控制器时,标签栏没有隐藏。例子

grandPrizeVC.hidesBottomBarWhenPushed = YES;

它不断向我显示标签栏。 如果我尝试 appDelegate.tabbarcontroller.tabbar.hidden = YES; 它显示在新 VC 的黑色底栏上。

【问题讨论】:

我假设您正在谈论来自:github.com/devindoty/DDMenuController 的代码,在询问之前链接并提及这一点会很酷;) 那已经提到了老兄 DDMenuController .. 但是感谢一票否决:P 【参考方案1】:

您的应用正在执行您已实现的操作。您正在将滑动菜单视图控制器作为子视图控制器添加到标签栏控制器,当然,它不会隐藏。隐藏标签栏的一些建议: 1. 将标签栏控制器作为模态添加到您的 DDMenuController 2.编写一些方法来隐藏/显示标签栏(搜索隐藏标签栏会给你答案,或者你可以遍历标签栏控制器视图的子视图找到标签栏并隐藏它)。 祝你好运!

【讨论】:

【参考方案2】:

以下对我有用:

显示标签栏:

+ (void) showTabBar

    MyAppDelegate* appDelegate = (MyAppDelegate *) [[UIApplication sharedApplication]delegate];
    UITabBar *tabBar = appDelegate.tabBarController.tabBar;
    UIView *parent = tabBar.superview; // UILayoutContainerView
    UIView *content = [parent.subviews objectAtIndex:0];  // UITransitionView
    UIView *window = parent.superview;
    CGRect tabFrame = tabBar.frame;
    tabFrame.origin.y = CGRectGetMaxY(window.bounds) - CGRectGetHeight(tabBar.frame);
    tabBar.frame = tabFrame;

    CGRect contentFrame = content.frame;
    contentFrame.size.height -= tabFrame.size.height;

隐藏标签栏:

+(void) hideTabBar
   MyAppDelegate* appDelegate = (MyAppDelegate *) [[UIApplication sharedApplication]delegate];
    UITabBar *tabBar = appDelegate.tabBarController.tabBar;
    UIView *parent = tabBar.superview; // UILayoutContainerView
    UIView *content = [parent.subviews objectAtIndex:0];  // UITransitionView
    UIView *window = parent.superview;

    [UIView animateWithDuration:0.01
                     animations:^
                         CGRect tabFrame = tabBar.frame;
                         tabFrame.origin.y = CGRectGetMaxY(window.bounds);
                         tabFrame.origin.y +=20;
                         tabBar.frame = tabFrame;
                         content.frame = window.bounds;
                     ];

【讨论】:

隐藏导航栏不起作用

】隐藏导航栏不起作用【英文标题】:HideNavigationbarnotworking【发布时间】:2013-02-1409:13:11【问题描述】:我正在使用以下代码来隐藏View的NavigationBar:[self.navigationControllersetNavigationBarHidden:YESanimated:YES];(我使用的是iOS6)我做错了... 查看详情

在appdelegate类中添加tab bar viewcontroller和DDMenuController

】在appdelegate类中添加tabbarviewcontroller和DDMenuController【英文标题】:AddtabbarviewcontrollerandDDMenuControllerintheappdelegateclass【发布时间】:2014-03-1706:59:14【问题描述】:我想为应用添加DDMenuController和标签栏视图控制器。我无法同时添加... 查看详情

自定义标签栏不显示导航栏

】自定义标签栏不显示导航栏【英文标题】:Customtabbardoesn\'tshownavigationbar【发布时间】:2017-03-2708:04:18【问题描述】:我目前正在使用多故事板项目,并且我在UIViewController中创建了一个自定义UIView(我将其命名为“TabBarVC”)... 查看详情

导航回屏幕时隐藏的 React Native 状态栏不起作用(Android)

】导航回屏幕时隐藏的ReactNative状态栏不起作用(Android)【英文标题】:ReactNativestatusbarhiddendoesn\'tworkwhennavigatingbacktoascreen(Android)【发布时间】:2018-10-2323:06:03【问题描述】:我在componentWillMount()和render()方法中都使用过<Stat... 查看详情

UISearchController 搜索栏不隐藏导航栏

】UISearchController搜索栏不隐藏导航栏【英文标题】:UISearchControllersearchbardoesnothidenavigationbar【发布时间】:2015-08-1906:49:34【问题描述】:我有一个UITableViewController作为我的UINavigationController的根。激活搜索栏不会隐藏导航栏。我... 查看详情

页面视图 + 隐藏导航栏不起作用

】页面视图+隐藏导航栏不起作用【英文标题】:PageView+HiddenNavigationBardoesn\'twork【发布时间】:2021-08-0416:23:37【问题描述】:当我在带有隐藏导航栏标题的导航视图中包含一个作为writtenbyApple的页面视图时,滑动页面会显示标题... 查看详情

离子状态栏不隐藏

】离子状态栏不隐藏【英文标题】:Ionicstatusbarnothiding【发布时间】:2016-05-1701:03:37【问题描述】:我添加了插件Cordova-plugin-statusbar。在我更新ionic和Cordova之前它正在工作。更新后,它不起作用。我完全困惑并恢复到旧版本,然... 查看详情

标签栏不显示

】标签栏不显示【英文标题】:TabBardoesnotshow【发布时间】:2020-08-3114:11:16【问题描述】:标签栏控制器故事板:这就是我对标签栏的称呼:lettabBar=TabBarController()tabBar.modalPresentationStyle=.fullScreenself.present(tabBar,animated:true,completion:n... 查看详情

离子空白模板默认隐藏附件栏不起作用

】离子空白模板默认隐藏附件栏不起作用【英文标题】:Ionicblanktemplatehidetheaccessorybarbydefaultnotworking【发布时间】:2015-07-2716:34:12【问题描述】:您好,我开始了一个空白的ionic项目。在app.js文件中有这段代码://IonicStarterApp//angu... 查看详情

endnotepreview标签栏不显示摘要

问题方法 查看详情

Sencha Touch - Windows Phone 8 Phonegap 应用程序栏不隐藏在后退按钮单击

】SenchaTouch-WindowsPhone8Phonegap应用程序栏不隐藏在后退按钮单击【英文标题】:SenchaTouch-WindowsPhone8PhonegapApplicationBarnothidingonbackbuttonclick【发布时间】:2014-02-2807:29:27【问题描述】:我们正在使用Senchatouch2forWindowsPhone8开发一个混合... 查看详情

DDMenuController menuViewController 中的问题,如 facebook

】DDMenuControllermenuViewController中的问题,如facebook【英文标题】:issueinDDMenuControllermenuViewControllerlikefacebook【发布时间】:2013-08-1205:39:59【问题描述】:我的第一个问题DDMenuController(facebooksplitmenu)必须在RootviewController上?它不能在... 查看详情

Swift/iOS 8,当 prefersStatusBarHidden() 设置为 true 时,状态栏不隐藏

】Swift/iOS8,当prefersStatusBarHidden()设置为true时,状态栏不隐藏【英文标题】:Swift/iOS8,StatusbarisnothiddenwhenprefersStatusBarHidden()issettotrue【发布时间】:2015-08-2205:12:22【问题描述】:我在iOS应用项目中有以下设置:未勾选“隐藏状态栏... 查看详情

WIX Navigation V2 - 推送到新屏幕时隐藏底部标签栏

】WIXNavigationV2-推送到新屏幕时隐藏底部标签栏【英文标题】:WIXNavigationV2-Hidebottomtabbarwhenpushtoanewscreen【发布时间】:2019-01-1905:13:39【问题描述】:问题描述我有TabBar基本应用程序,在我的一个选项卡中,我需要将其推送到另一... 查看详情

UITableView 中的搜索栏不显示单元格标签中的文本

】UITableView中的搜索栏不显示单元格标签中的文本【英文标题】:SearchBarinUITableViewdoesn\'tdisplaytextinCelllabel【发布时间】:2013-12-2800:58:50【问题描述】:这就是魔法没有发生的地方:-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowA... 查看详情

Onsen UI Vue 可滑动标签栏不起作用

】OnsenUIVue可滑动标签栏不起作用【英文标题】:OnsenUIVueswipeableTabbarDoesn\'twork【发布时间】:2018-03-2012:34:06【问题描述】:我用这个模板开始https://github.com/OnsenUI/vue-cordova-webpack然后我添加了一个标签栏,它可以,但可滑动属性不... 查看详情

任务栏不显示怎么办任务栏不显示处理方法

参考技术A1、可以先看看任务栏隐藏属性是否开启了,可能影响到最小化窗口显示,先在任务栏上右键,选择“属性”。2、进入属性窗口后,选择“任务栏”选项卡,看看其下的“自动隐藏任务栏”是否勾选了,如果勾选了,取... 查看详情

Phone 5 标签栏不工作 - iOS7 和 Xcode GM

】Phone5标签栏不工作-iOS7和XcodeGM【英文标题】:Phone5tabbarnotworking-iOS7andXcodeGM\'s【发布时间】:2013-09-1315:24:13【问题描述】:我的应用程序在我的4s和3.5英寸屏幕的模拟器上构建良好,但是当我在iPhone5和模拟器上构建时,标签栏... 查看详情