0

我的故事板的結構是:如何設置表格視圖單元格的位置,因爲選項卡欄阻止單元格?

A - B - C,d,E

a是導航控制器 b是標籤欄控制器 C,d,e爲標籤視圖 c是一個包含大約十個單元的表視圖控制器。 當我向上滾動時,最後一個單元格和標籤欄的位置重疊。 如何設置最後一個單元格的位置,以便它可以放置標籤欄,以便我們可以觸摸它? 謝謝。

+0

在故事板,選擇表視圖,然後Xcode中,編輯菜單的頂部菜單欄上,去腳,底部空間的SuperView – gabbler 2014-10-07 15:31:30

+0

當我選擇表格視圖,超級查看項目的底部空間不能被選擇 – leizh007 2014-10-07 15:41:11

回答

0

將此添加到您的tableview控制器中,主要目標是減少桌面高度。

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    CGFloat tabBarHeight = self.tabBarController.tabBar.frame.size.height; 
    CGRect frame = self.tableView.frame; 
    frame.size.height -= tabBarHeight; 
    self.tableView.frame = frame; 
} 

上面的代碼將導致灰色的tabBar。每次切換選項卡都會降低表格高度,因此將上面的代碼移動到viewDidLoad,並將tabBar半透明設置爲NO。

解決方案1:

CGFloat tabBarHeight = self.tabBarController.tabBar.frame.size.height; 
CGRect frame = self.view.frame; 
frame.size.height -= tabBarHeight; 
self.view.frame = frame; 
self.tabBarController.tabBar.translucent = NO; 

或者,您可以配置的tableView在viewDidLoad中contentInset。

解決方案2:

self.tableView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, CGRectGetHeight(self.tabBarController.tabBar.frame), 0.0f); 
+0

是的,這些代碼可以解決我的問題。但奇怪的事情發生,標籤欄背景變灰,而我改變到另一個標籤查看標籤欄背景是白色的? – leizh007 2014-10-08 00:22:41

0

問題是TableView高度不正確。 您必須設置TableView的約束條件,以使tableView的底部位於TabBar的開頭。

+0

你的意思是我設置底部單元格的高度足夠大,因此它可以在tabbar的開頭?但它有點奇怪,因爲單獨的行遠遠落後於底部單元格的背景。 – leizh007 2014-10-07 15:31:17

+0

否表格視圖高度太大。你必須縮短表格視圖。 – 2014-10-07 15:33:31

相關問題