我想通过隐藏statusBar,navigationBar和tabBar在一起,在用户点击一个视图中使我的应用程序“全屏”。点击切换全屏 - 问题与不透明tabBar
我可以隐藏并显示导航栏和状态栏的罚款,但我在隐藏tabBar时遇到一些问题。
这是它看起来像藏前:
而这个隐藏之后:
隐藏当,使用TabBar留下空白点,我已经试图隐瞒没有成功。
这是我目前使用
-(void)toggleBars:(UITapGestureRecognizer *)gesture{
//Hide navigationBar
BOOL toggleNavigationBar = self.navigationController.navigationBarHidden;
[self.navigationController setNavigationBarHidden:!toggleNavigationBar animated:YES];
//Hide tabBar - not hiding, leaving a black spot
BOOL toggleTabHidden = self.tabBarController.tabBar.hidden;
[self.tabBarController setTabBarHidden:!toggleTabHidden];
//Hide statusBar
BOOL statusBarHidden = [UIApplication sharedApplication].statusBarHidden;
[[UIApplication sharedApplication] setStatusBarHidden:!statusBarHidden withAnimation:UIStatusBarAnimationSlide];
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate){
[self setNeedsStatusBarAppearanceUpdate];
}
}
我GOOGLE了很多,甚至在这里抬头对SO,但我没有找到任何可以帮助我的代码。
视觉这就是我想要达到
---------------- --------------
|navBar &statbar| | |
|--------------- | |
| | tap | |
| content | -----> | content only |
| | |in fullscreen |
| | | |
|-------------- | | |
| tabbar | | |
------------- --------------
TL; DR
我想就我的水龙头全屏应用程序,我想知道如何删除TabBar隐藏时留下的空白点。
在此先感谢。
编辑1
我接着Sebastian Keller答案在this question,空白的TabBar隐时现,但该动画是一个有点大越野车和不光滑。
EDIT 2
创建一个虚拟项目之后,我重拍我的故事板,我注意到的问题是,当使用TabBar设置为不透明,它留下空白栏的后面。当它设置为半透明时,这不适用。
这是dummy project to demonstrate the issue。
您使用的是自动布局吗?我想我可能会为你解决问题。 – 2014-10-03 03:09:36
是的,我正在使用Autolayout。 – Phillip 2014-10-03 08:48:30