Swift +隐藏或删除UIView

时间:2016-11-12 20:07:35

标签: ios swift uiview

我有UITableViewController,在其上面放了一个UIView,里面有一个UICollectionView

当collectionView数据为空时,我想删除UIView。我试过了:

self.collectionView.removeFromSuperview() 

self.collectionView.hidden = true

这会删除UIView,但tableview上方有一个空格。我怎么能摆脱它?

编辑:添加了我的故事板照片。推荐视图不在tableviewheader内。

enter image description here

4 个答案:

答案 0 :(得分:0)

我还没试过,但这段代码可以解决你的问题。

self.tableView.tableHeaderView?.isHidden = true

答案 1 :(得分:0)

您已将推荐视图放在表格视图中 - 而不是在其上。所以你可以将它作为标题或单元格放置。因此,当您不希望它出现时,请更改单元格标题高度。

答案 2 :(得分:0)

看起来集合视图是一个表头视图(您在故事板中定位它的方式)。

如果数据为空,请尝试将其设置为nil

# EXAMPLES try: print(jsonobj['players'][0]['rank']) #SURROUND YOUR ASSIGNEMENT WITH A TRY CATCH BLOCK print("I have a rank") # WILL PRINT RANK EXISTS except KeyError: print("I do not have a rank") try: print(jsonobj['players'][1]['rank']) print("I have a rank") except KeyError: print("I do not have a rank") # WILL PRINT RANK DOES NOT EXIST

答案 3 :(得分:0)

RecommendedView是tableHeaderView。尝试使用推荐视图的高度约束。

如果您在集合视图中没有任何元素,请将高度约束设置为0.

@IBOutlet var tableHeaderHeighConstraint: NSLayoutConstraint!

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