我想通過隱藏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