如何根据两个数组详细信息中的数据更改表格视图单元格的样式如下
Posted
技术标签:
【中文标题】如何根据两个数组详细信息中的数据更改表格视图单元格的样式如下【英文标题】:how to change style of tableview cell according to data which is in two array detail is below 【发布时间】:2017-06-02 16:29:02 【问题描述】:我有一个表格视图,其中有一个部分我想在 cell for row at 方法中决定该单元格是否应该是可选的。我的数据来自 sqlite,它被保存在两个数组中,一个是推荐,第二个是不推荐。两个数组都有不同大小的数据。所以我想在不推荐显示数据时禁用单元格,并在来自推荐数组时启用它。所以请告诉我该怎么做。如果您想了解更多信息,请发表评论。我没有足够的代码来发布我只需要抬头即可完成这项任务。
【问题讨论】:
使用 one 数组,创建自定义结构或类作为模型并添加布尔属性isRecommended
。在cellForRow
中,根据该属性启用/禁用单元格。
如果你不介意的话,用例子来解释一下。 @vadian
创建一个自定义类。添加与字典键对应的属性以及 recommended
属性。将字典映射到类的实例。相应地设置recommended
属性。在cellForRow
中根据recommended
设置外观。这是基本的面向对象的东西。
【参考方案1】:
您如何将两个数组中的项目映射到表格视图中?换句话说,如何将索引i
的任一数组中的项目映射到UITableView
IndexPath?
通过覆盖UITableViewDelegate
的shouldHighlightRowAtIndexPath来指定一个单元格是否应该是可选的
假设节数为 2,节索引为 1 的项目是 不推荐 数组的元素:
斯威夫特 3
override func tableView(_ tableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool
return indexPath.section !=1
【讨论】:
现在我有两个部分,所以映射很容易,但我想将它转换为一个部分,第二部分中的项目应该被禁用,背景应该是灰色的。 自定义单元格的外观应该由 cellforRowAtIndexPath 完成。可选择性应如上所示。 你没有明白我的意思,我有两个数组,一个是推荐的项目,第二个是不推荐的。我想使用这两个数组禁用单元格中的单元格,因此当推荐的项目单元格出现时,它会启用,当不推荐的单元格出现时,它将在第一次加载 tableview 时被禁用.... @HammerClass 我完全理解你的问题。当您的模型更改时,您将需要在主队列上触发 reloadData 以触发对已修改行的刷新。可选择性决定是通过覆盖上面显示的方法来完成的,并且应该在 cellForRowAtIndexPath 委托方法中更改单元格的外观,因为不建议这样做(即 .backgroundColor = .lightGray) 对不起,亲爱的,但我没有让你明白。请你用小例子解释一下吗?以上是关于如何根据两个数组详细信息中的数据更改表格视图单元格的样式如下的主要内容,如果未能解决你的问题,请参考以下文章