首页 > 解决方案 > UITableView、UISearchController 和 MJRefresh,垂直滚动指示器从左到右闪烁

问题描述

背景:iOS8.x、iOS9.x、iOS10.x(11.0之前)使用UISearchController的searchBar作为tableHeaderView,MJRefresh作为刷新组件。并且 UITableView 的内容高度比显示区域短。(垂直滚动指示器不显示)。

问题:下拉刷新时,有一个垂直指示灯从左上到右闪烁并逐渐变长,然后消失。

演示:https ://github.com/hengyizhangcn/UISearchControllerDemo

标签: iosuitableviewgraphicsuisearchcontroller

解决方案


临时处理,实现协议方法scrollViewDidScroll:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    BOOL result = [self.tableView.mj_header isRefreshing];
    if (result) {
        self.tableView.showsVerticalScrollIndicator = NO;
    } else {
        self.tableView.showsVerticalScrollIndicator = YES;
    }
}

如果刷新组件正在刷新,则隐藏垂直滚动指示器,否则显示。


推荐阅读