如何在tableview上方隐藏自定义视图
Posted
技术标签:
【中文标题】如何在tableview上方隐藏自定义视图【英文标题】:How to hide custom view above tableview 【发布时间】:2017-12-11 15:33:54 【问题描述】:我有一个tableView
,里面有一个UIView
,我想点击一个按钮来消失视图。
因为UIView
在tableView
内(不是作为单元格,而是在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上方隐藏自定义视图的主要内容,如果未能解决你的问题,请参考以下文章
当在同一个单元格内单击按钮时,如何在自定义表格视图单元格内隐藏/显示特定视图
如何在 UIViewController 的 tableView 顶部添加自定义视图并能够一起滚动