CoreRefresh icon indicating copy to clipboard operation
CoreRefresh copied to clipboard

CoreHeaderView状态设置问题

Open zengzhihui opened this issue 9 years ago • 1 comments

-(void)setState:(CoreHeaderViewRefreshState)state 设置状态是时候,如果不匹配switch里的状态变换,将导致后续状态无法正确执行。 建议修改:状态变换匹配后,再更新新状态值。如下: switch (state) {

    case CoreHeaderViewRefreshStateNorMal://非刷新中状态->普通状态
        if(oldState!=CoreHeaderViewRefreshStateRefreshing) {
            //记录
            _state=state;
            [self stateNorMal];
        }
        break;

    case CoreHeaderViewRefreshStateReleaseForRefreshing://普通状态->松手立即刷新
        if(oldState==CoreHeaderViewRefreshStateNorMal){
            //记录
            _state=state;
            [self stateReleaseForRefreshing];
        }
        break;

    case CoreHeaderViewRefreshStateRefreshing://松手立即刷新->刷新中,特别的在业务中直接从普通状态->刷新中
        if(oldState==CoreHeaderViewRefreshStateReleaseForRefreshing || oldState==CoreHeaderViewRefreshStateNorMal) {
            //记录
            _state=state;
            [self stateRefreshing];
        }
        break;

    case CoreHeaderViewRefreshStateRefreshingFailed://刷新中->刷新失败
        if(oldState==CoreHeaderViewRefreshStateRefreshing){
            //记录
            _state=state;
            [self stateRefreshingFailed];
        }
        break;

    case CoreHeaderViewRefreshStateSuccessedResultNoMoreData://刷新中->刷新成功,无更多数据
        if(oldState==CoreHeaderViewRefreshStateRefreshing){
            //记录
            _state=state;
            [self stateSuccessedResultNoMoreData];
        }
        break;

    case CoreHeaderViewRefreshStateSuccessedResultDataShowing://刷新中->刷新成功,数据展示中
        if(oldState==CoreHeaderViewRefreshStateRefreshing) {
            //记录
            _state=state;
            [self stateSuccessedResultDataShowing];
        }
        break;

    default:
        break;
}

zengzhihui avatar Jan 22 '16 05:01 zengzhihui

建议非常好,我的bug解决了,谢谢

zhangyqyx avatar Sep 27 '16 08:09 zhangyqyx