2016-11-12 78 views
2

我有UITableViewController,在它上面我放置了一個UIView並且裏面有一個UICollectionView迅速+隱藏或移除UIView

當的CollectionView數據爲空我想刪除UIView。我想:

self.collectionView.removeFromSuperview() 

self.collectionView.hidden = true 

這些刪除UIView但我tableview上方的空白處。我怎樣才能擺脫它?

編輯:加入我的故事板的照片。推薦的視圖不在tableviewheader內。

enter image description here

+0

您可以發佈您的問題的屏幕截圖? – Joe

回答

0

它看起來像集合視圖是一個表頭視圖(你在故事板定位的方式)。

嘗試將其設置爲nil,如果數據爲空

self.tableView.tableHeaderView = nil

+0

這個技巧... –

0

我還沒有嘗試過,但是這個代碼應該解決您的問題。

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

我的觀點不在標題視圖內 –

0

您已將推薦視圖放置在表視圖中 - 而不是頂部。所以你可以把它作爲標題或單元格。所以當你不希望它存在時,改變單元頭部高度。

0

的RecommendedView是tableHeaderView。嘗試建立RecommendedView的高度限制的出口。

如果在集合視圖中沒有任何元素,請將height約束設置爲0。

@IBOutlet var tableHeaderHeighConstraint: NSLayoutConstraint! 

override func viewDidLoad(){ 
    if collectionIsEmpty(){ 
     tableHeaderHeighConstraint.constant = 0 
     self.tableView.tableHeaderView?.layoutIfNeeded() 
    } 
}