UITableviewCell上添加button,按钮的normal或selected状态显示不正常的可能原因。

Posted YouNeedCourage

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UITableviewCell上添加button,按钮的normal或selected状态显示不正常的可能原因。相关的知识,希望对你有一定的参考价值。

根据返回的信息对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;
    }

 

以上是关于UITableviewCell上添加button,按钮的normal或selected状态显示不正常的可能原因。的主要内容,如果未能解决你的问题,请参考以下文章

使用didSet将目标添加到UITableViewCell中的UIButton

改变 UITableViewCell 中 UITableViewCellDeleteConfirmationControl(Delete Button) 的颜色

单击来自Cell的Button获取UITableViewCell的indexPath

如何使用UITableViewCell附件Button作为Popover的锚点

具有“三列”自动布局的 UITableViewCell

如何在 UIView TableView 上添加 UITableViewCell