2011-05-12 194 views
2

我正在使用基於視圖的簡單iPhone應用程序。 從應用程序的主屏幕,您可以導航到4個不同的視圖。 其中一個視圖由標籤欄組成。 因爲這不是我使用一個沒有UITabController的解決方法的正常方法。如何隱藏基於視圖/標籤欄應用程序中的標籤欄

要做到這一點,我利用了這個話題: https://discussions.apple.com/thread/2099944?start=0&tstart=0

而這個示例代碼: http://pymbian.svn.sourceforge.net/svnroot/pymbian/stuff/testtab_raynewbie/Classes/

通過一些小的修改工作的。 只有當我想從標籤視圖返回到主視圖時,我有最後一個錯誤,標籤欄停留在屏幕底部。

我嘗試了這裏描述的幾種方法。

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]; 

} 

任何想法?

+0

我有同樣的probem花花公子.U有什麼解決方案?如果你知道任何事情PLZ解釋謝謝。 –

回答

2

當您從前一個視圖推送時,您需要隱藏標籤欄。

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

LoginViewController是在不需要標籤欄的情況下推送的視圖。 :)

在視圖 - 控制器
0

嘗試下面的代碼,你要隱藏的TabBar

-(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)]; 

} 
+0

這是一個蹩腳的方式來隱藏標籤欄,你不應該以這種方式傳播..遺憾的是投票。 –

相關問題