2011-04-02 72 views
1

在我的應用程序中,它是UITabBarController和UINavigation Controller的組合。我有一個選項卡,我希望在加載時使底部的選項卡消失,並在單擊該選項卡的UItableview上最底層的UITableviewcell時再次出現。 爲了實現這一點,我實現此方法:關於使UITabbar消失然後在單擊UITableViewCell時重新出現的問題

-(void)viewWillAppear:(BOOL)animated 

{ self.navigationController.tabBarController.tabBar.hidden = TRUE; }

然後我實現的另一方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: 

(NSIndexPath *)indexPath { self.navigationController.tabBarController.tabBar.hidden = FALSE; }

所有的好,它的作品。然而,標籤欄在消失之前的區域並不透明。有白色的樂隊,下面的桌面看不到。 雖然使標籤欄消失的整個目的是讓屏幕更多地顯示,並且可以看到下面的視圖。

我該如何解決這個問題。我確定有一個設置的地方,只是無法弄清楚。有人能幫助我嗎?

感謝

回答

0

這是因爲觀點本身並沒有填滿整個屏幕,只有標籤欄以外的區域。隱藏標籤欄不會調整視圖的大小。

View area

克服這個最簡單的方式是創建一個新的視圖,它填滿整個屏幕(因此,不標籤欄控制器的一部分),並推在需要時

- (IBAction)buttonPressed:(id)sender { 

    ThirdViewController *third = [[ThirdViewController alloc] initWithNibName:@"ThirdView" bundle:nil]; 
    [self.navigationController pushViewController:third animated:YES]; 

    [[[UIApplication sharedApplication] keyWindow] addSubview:third.view]; 

    [third release]; 
} 
+0

哇爲此創建一個新的視圖。我已經實現了一切,這意味着從頭開始:( – banditKing 2011-04-02 17:42:55

+0

嗯,我添加了一個新的視圖到我的xiB文件,這一次它是iPhone的全高:460.但是這並沒有解決這個問題.. ... – banditKing 2011-04-02 17:50:41

+0

我現在已經添加了代碼來做到這一點,見上面 – antalkerekes 2011-04-02 18:30:49

相關問題