2017-05-25 3 views
0

私はその下にUITableViewを持つUIViewを持っています。 tableviewには、UISearchbarとUISegmententedControllerを保持するカスタムヘッダーがあります。トップビューとテーブルビューはお互いとスーパービューに制約されます。トップビューを非表示にすると、テーブルビューのヘッダーが引き伸ばされます。UITableView上のビューを非表示にすると、テーブルビューのヘッダーが引き伸ばされます

トップビュー表示:隠された

Top view is green and directly under it is the tableView

トップビュー(高さ制約が0に設定):

enter image description here

私の期待は、私が隠したときに、トップは私のテーブルビューを見ることになります内容は上にスクロールする必要がありますが、セルの位置を変更する代わりに、ヘッダービューを展開します。

ありがとうございました!

答えて

0

なぜ私はカスタムテーブルビューヘッダーがxibから作成されたのか分かりませんが、それはうんざりします。しかし、ビューがプログラムによって作成された場合、それは機能します。ただ、プログラム

悪いテーブルビューのヘッダーを作成するために必要な問題を解決するためにしかし、なぜ私にはわからない:

if let headerView = Bundle.main.loadNibNamed("HeaderView", owner: self, options: nil)?[0] as? HeaderView { 
    tableview.tableHeaderView = headerView 
} 

グッド:あなたはのtableViewがスクロールアップしたい場合は

tableview.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 80)) 
+0

どうやら問題は、自動サイズ変更マスクとしなければなりませんでした。ビューの自動サイズ設定を高さにしないと、それも同様に固定されているようです – Kevin

0

トップビューの高さ制約を取得して0に減らすことをお勧めします。UIView.animateブロックの高さ制約を更新して、トップビューを表示したり非表示にしたりするときのスムーズな切り替えができます。

は、詳細はこちらを参照してください:AutoLayout with hidden UIViews?

関連する問題