首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift3 :如果为空,则隐藏UITableView

Swift3 :如果为空,则隐藏UITableView
EN

Stack Overflow用户
提问于 2017-02-24 04:36:16
回答 3查看 8.7K关注 0票数 3

我有一个桌面视图,我使用它作为屏幕的一部分。

@IBOutlet var tableView: UITableView!

有时我有数据,有时我没有。我只想在有数据的时候显示表,当没有数据时我想隐藏它。

我试着添加一个限制高度的小选项或等于选项。但是如果我这样做,即使我有数据,tableview也是隐藏的。

我该怎么办?

我搜索了一下,没有找到解决方案,所以问这里。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-24 04:39:11

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

可以使用可能填充数据的数组或使用tableView属性numberOfRowsInSection检查计数。

当没有数据时

代码语言:javascript
复制
tableView.ishidden = true

当有数据时

代码语言:javascript
复制
tableView.ishidden = false

也可以使用委托方法,如下所示。

代码语言:javascript
复制
 override func viewWillAppear(_ animated: Bool) {
        if array.isEmpty {
            self.tableView.isHidden = true
        }
        else {
            self.tableView.isHidden = false
        }
    }

更好的方法是使用didSet。

代码语言:javascript
复制
var dataArray: [String] = [] {
   didSet {
      if dataArray.count > 0 {
         //Update Table Data
      } else {
         //Hide Table and show so info of no data
      }
   }
}
票数 17
EN

Stack Overflow用户

发布于 2017-02-24 06:08:07

您也可以尝试这样做,这样就可以使用空表空间。

  • 将“出口”设置为“表高度”约束,并添加以下一行 tableHeightConstraint.constant = array.count != 0.250:0

票数 5
EN

Stack Overflow用户

发布于 2017-02-24 04:39:17

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42430856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档