如何在tableview上方隐藏自定义视图

Posted

技术标签:

【中文标题】如何在tableview上方隐藏自定义视图【英文标题】:How to hide custom view above tableview 【发布时间】:2017-12-11 15:33:54 【问题描述】:

我有一个tableView,里面有一个UIView,我想点击一个按钮来消失视图。

因为UIViewtableView 内(不是作为单元格,而是在tableView 上方)我无法设置高度约束并使其在0 之后。

这是我使用的代码:

UIView.animate(withDuration: 2.0, animations:  () -> Void in
  self.infoView.frame = CGRect(x: 0 ,y: 0, width: self.view.frame.width, height: 0)
  self.view.layoutIfNeeded()
)

我也尝试将 infoView 设置为 nil(但什么也没发生)

如果您不明白我所说的内容,请发表评论。

提前致谢。

【问题讨论】:

是否可以使用 tableHeaderView ,然后使用 tableHeaderView height 将其 height 属性设置为零?像这样***.com/a/34689293/3739902 你检查过插座吗?不是零吗? @user3739902 谢谢我尝试将tableheaderView设置为nil并做了我想要的,现在我将它的高度变得更漂亮,再次感谢 @user3739902 你必须回答以将其标记为已接受:P,当然我会尽快回答 @user3739902 评论不是答案。 【参考方案1】:

最简单的方法是隐藏它,每个视图都有隐藏的属性。 https://developer.apple.com/documentation/uikit/uiview/1622585-hidden

【讨论】:

您好,感谢您的回答,但如果我隐藏它,它会保持它的高度,我会有一个空视图。【参考方案2】:
change your code


UIView.animate(withDuration: 2.0, animations:  () -> Void in
            self.infoView.frame = CGRect(x: 0 ,y: 0, width: 0, height: 0)
            self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentBehavior.automatic
            self.tableView.reloadData()

        )

【讨论】:

您好,这不会让视图消失,它只会使 tableview 更大,并且视图现在位于单元格上方 你能分享你的课程和故事板吗??

以上是关于如何在tableview上方隐藏自定义视图的主要内容,如果未能解决你的问题,请参考以下文章

当在同一个单元格内单击按钮时,如何在自定义表格视图单元格内隐藏/显示特定视图

ios) 如何在自定义键盘上方创建建议视图

当导航栏是超级视图视图时,如何在导航栏后面放置视图?

如何在 UIViewController 的 tableView 顶部添加自定义视图并能够一起滚动

如何在 swift 3 中的 tableview 单元格中添加带有自定义视图的 collectionView?

tableView:viewForHeaderInSection: 如何准确工作以及如何动态自定义此视图