繁体   English   中英

快速+隐藏或删除UIView

[英]Swift +hide or remove a UIView

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

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

self.collectionView.removeFromSuperview() 

self.collectionView.hidden = true

这些删除了UIViewtableview上方有一个空白空间。 我该如何摆脱呢?

编辑:添加了我的情节提要的照片。 推荐视图不在tableviewheader内部。

在此处输入图片说明

我没有尝试过,但是这段代码应该可以解决您的问题。

self.tableView.tableHeaderView?.isHidden = true

您已将“推荐视图”放置在表格视图内-不在其顶部。 因此,您可以将其放置为标题或单元格。 因此,当您不希望它出现时,请更改单元格pr标头的高度。

看来集合视图是表标题视图(将其放置在情节提要中的方式)。

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

self.tableView.tableHeaderView = nil

推荐tableHeaderView是一个tableHeaderView 尝试对RecommendationView的高度约束有一个出口。

如果在集合视图中没有任何元素,则将高度限制设置为0。

@IBOutlet var tableHeaderHeighConstraint: NSLayoutConstraint!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM