【问题标题】:Hide Tabbar in Landscape without pushing to NavigationController在横向隐藏标签栏而不推送到 NavigationController
【发布时间】:2012-11-30 02:45:02
【问题描述】:

我想在横向显示另一个没有 Tabbar 的视图。 所以我创建了一个新视图,只更改了self.view

self.hidesBottomBarWhenPushed = YES;

但这对我不起作用。希望有人能帮忙?

【问题讨论】:

标签: iphone objective-c ios5 uitabbarcontroller


【解决方案1】:

只需在视图的 viewWillAppear: 方法中添加此行即可隐藏 UITabBar

[self.tabBarController.tabBar setHidden:YES];

如果要将新视图设置为 RootViewController,只需使用以下代码...

YourNewViewController *objView = [[YourNewViewController alloc] initWithNibName:@"YourNewViewController" bundle:nil];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:objView]; 
[self presentModalViewController:nav animated:YES];

【讨论】:

  • 这一行只会隐藏图标而不是整个标签栏
  • @user1594021 这一行从视图中隐藏标签栏老兄首先尝试然后发表评论,如果您有任何疑问..
  • @user1594021 首先告诉我你到底想要什么.. 因为这行隐藏了标签栏
  • @user1594021 你想将另一个视图显示为 rootviewController??
  • @user1594021 如果您想将新设置为根视图,请使用此代码.. YourNewViewController *objView = [[YourNewViewController alloc] initWithNibName:@"YourNewViewController" bundle:nil];UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:objView]; [self presentModalViewController:nav animated:YES];
【解决方案2】:

如果您不想推送 navigationController,请尝试以下代码:

UINavigationController *navAddEvent = [[UINavigationController alloc] initWithRootViewController:yourObg];

        navAddEvent.navigationBar.hidden = TRUE;

        [self presentModalViewController:navAddEvent animated:YES];

【讨论】:

  • 那会隐藏 NavigationBar 而不是 TabBar 还是我错了?
  • no...它将隐藏navigationController的导航栏。如果您不想隐藏,则可以删除该行代码。我用这段代码解决了你的问题
  • 如果您再次切换到普通视图,您如何获得“旧”导航控制器?
猜你喜欢
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 2015-01-03
  • 2016-05-27
  • 2019-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多