2

我有一个导航控制器(比如 navC),并且我在 navC 中推送了一个标签栏控制器(比如 tabC)。在 tabC 我有一个视图控制器(比如 viewC)。现在我的任务是让 viewC 在点击时全屏显示。但是有些如何在调整视图大小时,标签栏所在的区域永远不会被占用,我在隐藏标签栏的地方得到一个空白。

4

2 回答 2

1

在点击时实现此功能

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

if (appDelegate.navigationController.navigationBar.hidden == NO)
{
  CATransition *animation = [CATransition animation];
  [animation setType:kCATransitionFade];
  [[self.view.window layer] addAnimation:animation forKey:@"layerAnimation"];

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
[appDelegate.navigationController setNavigationBarHidden:YES animated:YES];

[self.tabBarController.tabBar setHidden:YES];
 self.view.frame = CGRectMake(0,0,320,480);

 }
    if (appDelegate.navigationController.navigationBar.hidden == YES)
    {

  CATransition *animation = [CATransition animation];
  [animation setType:kCATransitionFade];
  [[self.view.window layer] addAnimation:animation forKey:@"layerAnimation"];

[[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
[appDelegate.navigationController setNavigationBarHidden:NO animated:YES];
[self.tabBarController.tabBar setHidden:NO];
self.view.frame = CGRectMake(0,0,320,368);
 }   
 }

您必须添加 QuartzCore/QuartzCore.h

于 2012-09-10T06:10:11.937 回答
0

也许如果您输入一些代码,我可以提供更准确的帮助,但据我了解,您需要隐藏navigationBar. navigationController这种方式navigationController本身是完全隐藏的,但您仍然可以访问它来推送和弹出视图控制器,就像您已经在做的那样。

self.navigationController    = [[UINavigationController alloc] init];
[self.navigationController setNavigationBarHidden:YES animated:NO];

希望这可以帮助...

于 2012-09-10T05:51:55.027 回答