2016-04-13 9 views
0

私はスーパービュー全体を占めるストーリーボードの制約を持つtableViewを持っています。関連付けられたVCの私のviewDidLoad(..)では、.xib(UIView)をロードし、それをtableViewのサブビューとして追加します。UITableViewのサブビューはtableViewと同じ高さを持っていません

let emptyHomescreenView = EmptyHomescreenView() //The nib is loaded earlier. 
self.tableView.addSubview(emptyHomescreenView) 

は何があって、私はそれが必要以上emptyHomeScreenViewが長く、高さを持っていることがわかりません。これは、tableViewに適切に配置されますが、それは単に問題の高さです。私は手動でテーブルビューと同じになるように高さを設定しようとしましたが、変更はありません。私はまた、新しい値にtableViewのcontentInset.bottomを設定しようとしましたが、それも変更されません(奇妙なトップが動作します)。

self.tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: -self.navigationController!.toolbar.frame.size.height, right: 0) 
//Above line doesn't work, setting a value for top does modify the emptyHomescreenView however. 

私はその後emptyHomescreenViewの高さを低減し、それはまだかなりからNavControllerの下部にツールバーを揃えていなかった

self.edgesForExtendedLayout = UIRectEdge.Bottom 

を試してみました。

なぜこのような場合がありますか?私はxibのautolayoutを使用しています。

編集Image Here

答えて

0

あなたcontentInsetは、あなたのコンテンツをダブルぶつけています。あなたのcontentInsetのすべての値を0に設定してください。あなたのTableViewは、すでにツールバーと並んでいなければならず、tableViewのコンテンツビューは、グローバルビュースペースではなく、tableviewの境界を基準にして測定されます。

+0

私はcontentInset値を0に設定しましたが、残念ながらcontentViewはtableViewからアクセスできるプロパティではありません。 – AppreciateIt

関連する問題