【问题标题】:Static table not showing静态表不显示
【发布时间】:2017-01-10 18:54:17
【问题描述】:

我创建了一个表格视图控制器,并从 Xcode 的下拉列表中选择了静态单元格的内容。我在这些单元格中放置了按钮,但是当我运行时,我得到一个空表。我没有在 TableViewController 类中输入任何代码,因为我认为这不是必需的。

如何解决这个问题?

这是它在 Xcode 中的样子,然后是在模拟器中运行时的样子:

【问题讨论】:

  • 检查您的自动布局约束。
  • @Woodstock 这不是约束,而是答案中提到的 tableview 方法

标签: ios xcode uitableview storyboard


【解决方案1】:

你可能会错过一些东西:

1) 检查您的 tableView 是否在代码中设置了名为 on 的类。您可以在 tableView 的属性检查器中找到输入字段以键入类的名称。

2) 检查你是否实现了符合 UITableViewDelegate 和 UITableViewDataSource 协议的方法。

func numberOfSections(in tableView: UITableView) -> Int {
    // I see you only have 1 section now
    return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//you should return appropriate number
   return 3
}

3) 检查您的表格是否从 Storyboard 正确连接到您的 UIViewController =>

如果您的 tableView 在 UIViewController 中,请检查您是否在控制器中为 tableView 设置了委托和数据源(CTRL 从表格拖到 FileOwner - 故事板场景框架中的圆形黄色图标。)

【讨论】:

  • 谢谢 完全不知道设置静态表时有必要
【解决方案2】:

使用静态单元格,没有必要实现 numberOfSections 和 numberOfRowsInSection。默认情况下,在运行时,您将获得在设计器中实现的静态单元。 但是,如果您确实实现了这些方法并且错误地返回 0:运行时不显示单元格。

【讨论】:

  • 我仍然有默认的 TableViewController 类,它返回 0 的行数。这样就可以解释了!
【解决方案3】:

跟进上面的答案:

1) 确保 tableview 被连接为数据源和委托。

2) 确保将这两行代码修改为您的表格。默认是返回 0(一个空表),因此您需要相应地修改它们。您也可以选择将它们完全注释掉(我所做的)。

func numberOfSections(in tableView: UITableView) -> Int {
    // I see you only have 1 section now
    return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//you should return appropriate number
   return 3
}

【讨论】:

    猜你喜欢
    • 2017-12-12
    • 1970-01-01
    • 2018-08-28
    • 2017-03-05
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多