2015-01-15 25 views
1

我看到這個問題已經被提出並回答了;但是,在Objective-C中。我嘗試過但無法將其轉換。任何幫助表示讚賞。這是代碼:TabBar覆蓋了TableViewController的TableView(需要Swift解決方案)

- (void)viewDidLoad 
{ 
    self.edgesForExtendedLayout = UIRectEdgeAll; 
    self.tableView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, CGRectGetHeight(self.tabBarController.tabBar.frame), 0.0f); 
} 

第一行很容易:

self.edgesForExtendedLayout = UIRectEdge.All 

剩下的,我需要幫助。

在此先感謝。

+0

您可能想要取消選中故事板中tableViewController的底部欄。 – gabbler

+0

tabBar高度是49,所以你可以嘗試self.tableView.contentInset = UIEdgeInsetsMake(0,0.0,49,0.0); – suhit

+0

感謝您的評論。我通過在ViewController中使用TableView解決了這個問題。這樣,我可以設置約束,但我想要的。 – oyalhi

回答

4

你可以這樣做,那麼你不需要在UIView中使用TableView。

override func viewDidLoad() { 
    super.viewDidLoad() 

    let tabBarHeight = self.tabBarController?.tabBar.bounds.height 
    self.edgesForExtendedLayout = UIRectEdge.All 
    self.tableView.contentInset = UIEdgeInsets(top: 0.0, left: 0.0, bottom: tabBarHeight!, right: 0.0) 

} 
+0

謝謝,爲我工作,我認爲他應該將其標記爲答案 –