Swift3:如果为空则隐藏 UITableView

Swift3 : Hide UITableView if Empty

我有一个 table视图,我将其用作屏幕的一部分。

@IBOutlet var tableView: UITableView!

有时我有数据,有时我没有。 我只想在有数据时显示 table,在没有数据时隐藏它。

我尝试添加一个小于或等于选项的高度约束。但是如果我这样做,即使我有数据

,table视图也会被隐藏

我该怎么办?

我用谷歌搜索了一下,没有找到解决办法,所以在这里问一下。

免责声明:我是 iOS/Swift 开发的新手。很抱歉,如果这个问题已经得到回答

您可以像下面这样显示隐藏 tableView

您可以使用可能用于填充数据的数组或使用 tableView 属性 numberOfRowsInSection.

检查计数

没有数据时

tableView.ishidden = true

有数据时

tableView.ishidden = false

或者您可以使用如下委托方法。

 override func viewWillAppear(_ animated: Bool) {
        if array.isEmpty {
            self.tableView.isHidden = true
        }
        else {
            self.tableView.isHidden = false
        }
    }

更好的方法是使用 didSet。

var dataArray: [String] = [] {
   didSet {
      if dataArray.count > 0 {
         //Update Table Data
      } else {
         //Hide Table and show so info of no data
      }
   }
}

如果没有数据显示,设置 tableView.isHiden = true

你也可以试试这个,这样你就可以利用空 table space.

  • 将出口设置为您的 table 高度限制并添加以下行

    tableHeightConstraint.constant = array.count != 0 ? 250 : 0