根据返回的信息对cell上button的状态进行设置时,由于cell的复用机制,有时候会导致button的显示状态和我们设置的状态不一样,有可能的原因是我们根据返回数据进行设置时只设置了一种状态,比如:
//点击点赞按钮 if (model.user_praise) { //如果存在praise_user,说明已经点过赞,将按钮状态设置为已经点赞的状态 cell.likeButton.selected = YES; }
利用上面的方式进行设置就可能导致button状态显示不正常,正确的做法是两种条件都进行设置,如下:
//点击点赞按钮 if (model.user_praise) { //如果存在praise_user,说明已经点过赞,将按钮状态设置为已经点赞的状态 cell.likeButton.selected = YES; } else { cell.likeButton.selected = NO; }
时间: 2024-10-09 12:35:00