UIFableView的Cell中的iOS Swift Like Button

时间:2016-10-13 13:12:46

标签: ios swift uitableview

我的应用中有一个Stats::AppOverview.new(from: 1.month.ago.iso8601, apps: App.where(release_id: [1,2,3,4,5,19,235]).total_count #=> { apps: { total: 65, with_user: 42 } } 。在我的应用程序中,用户可以喜欢一个帖子(最好的例子是Instagram)。当我喜欢帖子时,我的按钮状态变为活动状态,按钮的颜色变化。但是当我将tableView按钮状态滚动回正常时。我知道这是因为细胞再次重新加载,但这个问题的最佳解决方案是什么?我必须加班,我按下按钮应用发送请求和tableview reloadData? (这对服务器不好)

编辑:我有一个按钮标志,但当我按下按钮时,我必须发送请求并再次获取dataArray。但是如何更改按钮状态并发送类似请求但不能获取dataArray。用户手动刷新数据时会发生这种情况。

感谢。

3 个答案:

答案 0 :(得分:1)

您可以使用if和else条件进行设置。见下面的例子

if model.data.isFav == true
{
    btnFav.selected = true
}
else
{
    btnFav.selected = false
}

答案 1 :(得分:0)

如果您在dataArray中有任何带有Posts的按钮标记,您可以从中加载单元格数据,那么您可以使用该标志来设置按钮的颜色。滚动时会很小心。

答案 2 :(得分:0)

在导航检查器中将按钮类型设置为自定义,然后将背景图像设置为默认和选定。然后使用下面的代码:

//    MARK: Set fav button Action
    func setFavButtonAction(_ sender : UIButton) {
        print(sender.tag)
        if sender.isSelected == true {
            sender.isSelected = false
        }else{
            sender.isSelected = true
        }
    }