2016-11-12 14 views
2

私はUITableViewControllerを持っています。その上にUIViewを置き、その中にUICollectionViewがあります。Swift + UIViewを非表示にするか削除する

コレクションビューのデータが空の場合は、UIViewを削除します。私が試した:

self.collectionView.removeFromSuperview() 

self.collectionView.hidden = true 

をこれらがUIView削除しますが、私のtableview以上の空きスペースがあります。どうすればそれを取り除くことができますか?

編集:私のストーリーボードの写真を追加しました。推奨ビューは、tableviewheader内にありません。

enter image description here

+0

問題のスクリーンショットを投稿できますか? – Joe

答えて

0

コレクションビューはテーブルヘッダービュー(ストーリーボードに配置した方法)のようです。

データはRecommendedViewがtableHeaderViewある

self.tableView.tableHeaderView = nil

+0

これはトリックです... –

0

私は試していないが、このコードはあなたの問題を解決する必要があります。

self.tableView.tableHeaderView?.isHidden = true 
+0

私のビューはヘッダービュー内にありません –

0

推奨ビューをテーブルビューの内側に配置しました。だからあなたはヘッダーやセルとして配置することができます。だからあなたがそれが存在しないようにするには、セルのヘッダーの高さを変更します。

0

空の場合はnilにそれを設定してみてください。 RecommendedViewの高さ制約へのコンセントを持つようにしてください。

コレクションビューに要素がない場合は、高さ制約を0に設定します。

@IBOutlet var tableHeaderHeighConstraint: NSLayoutConstraint! 

override func viewDidLoad(){ 
    if collectionIsEmpty(){ 
     tableHeaderHeighConstraint.constant = 0 
     self.tableView.tableHeaderView?.layoutIfNeeded() 
    } 
} 
関連する問題