【问题标题】:How to hide custom view above tableview如何在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 属性设置为零?像这样stackoverflow.com/a/34689293/3739902
  • 你检查过插座吗?不是零吗?
  • @user3739902 谢谢我尝试将tableheaderView设置为nil并做了我想要的,现在我将它的高度变得更漂亮,再次感谢
  • @user3739902 你必须回答以将其标记为已接受:P,当然我会尽快回答
  • @user3739902 评论不是答案。

标签: ios swift xcode


【解决方案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 更大,并且视图现在位于单元格上方
  • 你能分享你的课程和故事板吗??
猜你喜欢
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
  • 1970-01-01
  • 2020-10-28
  • 2017-05-14
相关资源
最近更新 更多