如何在 swift tableviewCell 中集成“喜欢”按钮

Posted

技术标签:

【中文标题】如何在 swift tableviewCell 中集成“喜欢”按钮【英文标题】:How to integrate a "like" button in swift tableviewCell 【发布时间】:2015-05-22 07:15:58 【问题描述】:

在tableview单元格中集成like按钮应该遵循什么逻辑?

如何更新单元格内的文本标签,指示它在实时 IE 中的点赞数:当你点击点赞按钮时,它要么添加点赞,要么删除点赞?

当 current_like = true 时,该按钮也会突出显示 当 current_like = false 时不突出显示

我在哪里更新这些东西?

如何更新单元格标签并在单元格内显示新标签?或者是否需要在索引路径处重新加载单元格?

【问题讨论】:

【参考方案1】:

您必须实现的两个主要问题/步骤是: - 用新的喜欢更新标签 - 更新表的数据源以保持数据持久化。

那么,我会做什么:

将您的自定义 UITableViewCell 设置为按钮的目标,这样单元格就可以知道何时单击了按钮。在目标函数/选择器中,您应该更新标签。

现在,您必须通知表格的数据源该单元格有一个新的类似。您可以在 UITableViewCell 中创建协议并将 TableDataSource 设置为其委托。然后,当单击按钮时,您可以通知代理。

您可以使用 NSNotificationCenter 实现相同的行为,而不是委托。

问候 ;)

【讨论】:

【参考方案2】:

要在不重新加载的情况下更改单元格的内容,您需要创建指向该单元格的指针。您可以直接使用指针更改单元格的参数,而无需重新加载单元格。所以会是这样的

self.myCell.label.text = something

并且要将指针分配给您的单元格,您必须在您的单元格添加方法中添加如下内容:

self.myCell = yourLikeCounterCell

【讨论】:

以上是关于如何在 swift tableviewCell 中集成“喜欢”按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在 tableViewCell、Google 地图、Swift 中添加从地图中选择的选项

Swift 3:如何将内容包装在具有多个标签的 tableviewcell 中?

如何仅在 swift 中重新加载 tableViewCell?

如何在swift中将标题视图添加到每个自定义tableViewCells

在 TableViewCell 中保持 UISwitch 的状态:Swift

如何在 UIStackView 中切换排列子视图的可见性,这在 tableViewCell swift3 中