Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.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的选项卡栏xcode_Iphone_Xcode_Uitabbarcontroller - Fatal编程技术网

隐藏iphone的选项卡栏xcode

隐藏iphone的选项卡栏xcode,iphone,xcode,uitabbarcontroller,Iphone,Xcode,Uitabbarcontroller,我正在创建一个基于TabBar的应用程序,其中我在第二个选项卡中有4个选项卡,我有一个UICollectionView控件来显示来自RSS提要的图像 当用户单击任何图像时,它应该导航到另一个UIViewController中显示该图像的更多详细信息。我想隐藏“详细信息”页面中的选项卡栏。我尝试了很多方法,但都不管用 下面是我在UICollectionView中选择的代码: -(void)collectionView:(UICollectionView *)collectionView didSe

我正在创建一个基于TabBar的应用程序,其中我在第二个选项卡中有4个选项卡,我有一个UICollectionView控件来显示来自RSS提要的图像

当用户单击任何图像时,它应该导航到另一个UIViewController中显示该图像的更多详细信息。我想隐藏“详细信息”页面中的选项卡栏。我尝试了很多方法,但都不管用

下面是我在
UICollectionView
中选择的代码:

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {

    DetailView *detail=[[DetailView alloc] init];
    detail.item= (MWFeedItem *)[itemsToDisplay objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:detail animated:YES];
    [detail setHidesBottomBarWhenPushed:YES];
    [self.myCollectionView deselectItemAtIndexPath:indexPath animated:YES];
}
我设置了
setHidesBottomBarWhenPushed:YES
作为详细信息页面,仍然是显示在详细信息页面中的选项卡栏


我还需要在这里做些什么吗

您的
DetailView
是您在
self.navigationController
中推送控制器时的视图控制器

覆盖
DetailView
ViewController的
viewwillbeen
viewwillbeside
方法,将NavigationController添加为TabBarController中的视图之一,您可以直接访问属于
NavigationController
的ViewController堆栈中的对象
tabBarController

请尝试以下代码:

-(void) viewWillAppear:(BOOL)animated {

    [super viewWillAppear:YES];

    // if you added bottom bar thr xib or thr code on DetailView VC, better if you remove it from DetailView xib
    [self setHidesBottomBarWhenPushed:YES]; 

    // this will hide the Tabbar  
    [self.tabBarController.tabBar setHidden:YES];
}

-(void) viewWillDisappear:(BOOL)animated{

    [super viewWillDisappear:YES];

    // this will show the Tabbar  
    [self.tabBarController.tabBar setHidden:NO];
}

我最初的回答变成了评论。由于它的短处,我认为(仅仅是一个指向外部站点的链接)

但是,正如您在上一次对我的评论中所阐述的,您真正需要的是什么:如果您想要更改UITabBar的外观,您不一定需要为此目的对UITabBarController进行子类化。这取决于您需要的定制程度,但请首先查看Apple的“外观API”。这是Ray Wenderlich网站上的一篇好文章(也适用于iOS6,文章中包含了一个示例项目)


通过外观API实现选项卡栏自定义的另一个好方法。

我检查了你的代码,但它在我的应用程序中仍然不起作用。我想告诉你一件事。我用自己的4张图片定制了我的标签栏。此自定义可能会在此处产生任何问题。您可以在.h中创建tabBarController对象,并将其映射到tabBarController xib中,而不是
self.tabBarController
,执行NSLog并验证self.tabBarController是否具有引用或不在我删除对tab栏的自定义后隐藏正在工作。我按照教程的要求定制了我的标签栏,还有其他方法吗?你们在用故事板吗?你有导航控制器吗?查看文章。是的,我正在使用故事板,我有导航控制器。。。我正在检查这篇文章如果是的话,那么你就可以使用链接文章中提供的解决方案了!:-)我检查了这篇文章,但仍然没有结果。我只是检查了我的自定义选项卡是否在这里出现问题,当我遵循u r教程时,代码是否正常工作。如果我添加我的自定义选项卡栏,它给出的问题是有任何解决方案以及我遵循的自定义选项卡,我会检查这个外观api。但请从这里查看我的要求。使用图像还是仅仅更改选项卡的颜色更好。请指导我,因为最近刚刚开始iphone应用程序开发。好的,我明白了!根据链接图像判断,您可能需要一个自定义选项卡栏!我的意思是自定义选项卡栏实现,而不是通过子类化UITabBarController等等。问题是选项卡栏项目,它显然被允许“突出”选项卡栏之外!我认为这不能仅仅通过外观API来实现!你应该看看一些自定义标签栏的实现。谢谢Nenad M。你的信息带我到正确的方向,我仍在按照我的要求工作。真的你的信息很有价值。嗨,穆罕默德!不客气!如果有帮助,你可以投票支持我的答案!:-)我在这里又找到了一个解决方案。它可能会帮助其他人。