Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在基于视图/选项卡栏的应用程序中隐藏选项卡栏_Iphone_Objective C_Xcode_View_Tabbar - Fatal编程技术网

Iphone 如何在基于视图/选项卡栏的应用程序中隐藏选项卡栏

Iphone 如何在基于视图/选项卡栏的应用程序中隐藏选项卡栏,iphone,objective-c,xcode,view,tabbar,Iphone,Objective C,Xcode,View,Tabbar,我正在开发一个简单的基于视图的iPhone应用程序。 从应用程序的主屏幕,您可以导航到4个不同的视图。 其中一个视图由选项卡栏组成。 因为这不是正常的方法,所以我使用了一种没有UITAB控制器的变通方法 为了实现这一点,我利用了这个主题: 下面是示例代码: 经过一些小的修改,这就行了。 只有最后一个错误,当我想从选项卡式视图返回主视图时,选项卡栏停留在屏幕底部 我尝试了这里描述的几种方法 myTabBar.hidden = YES hidesBottomBarWhenPushed = YES

我正在开发一个简单的基于视图的iPhone应用程序。 从应用程序的主屏幕,您可以导航到4个不同的视图。 其中一个视图由选项卡栏组成。 因为这不是正常的方法,所以我使用了一种没有UITAB控制器的变通方法

为了实现这一点,我利用了这个主题:

下面是示例代码:

经过一些小的修改,这就行了。 只有最后一个错误,当我想从选项卡式视图返回主视图时,选项卡栏停留在屏幕底部

我尝试了这里描述的几种方法

myTabBar.hidden = YES
hidesBottomBarWhenPushed = YES
但似乎都不管用。。。。 我认为问题在于视图UI控制器的奇怪结构。因为现在的结构是这样的

MainViewController
- ViewController with TabBar
  - tab1viewcontroller
  - tab2viewcontroller
- other viewcontrollers
回到主视图是在tab1viewcontroller中完成的,在这里我不能对TabBar做任何事情。在所有其他视图中,我返回以下代码:

-(IBAction) BackAction:(id)sender {

mainControllerView = [[MainControllerView alloc] initWithNibName:@"MainControllerView" bundle:nil];
[self.view addSubview:mainControllerView.view];
[mainControllerView.view release];

}

有人有想法吗?

从上一个视图中按下时,需要隐藏选项卡栏

LoginViewController *loginViewObj =[[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
loginViewObj.hidesBottomBarWhenPushed=YES;

LoginViewController
是要在不需要选项卡栏的位置推送的视图。:)

在要隐藏选项卡栏的视图控制器中尝试以下代码

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:YES];
    [self.tabBarController.view setFrame:CGRectMake(0, 0, 320, 560)];
}


我也有同样的问题。你有什么解决办法吗?如果你知道任何事情,请解释一下谢谢。这是一种隐藏标签栏的糟糕方法,你不应该这样传播。。很抱歉投了反对票。
-(void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:YES];
    [self.tabBarController.view setFrame:CGRectMake(0, 0, 320, 480)];

}