UITableview 与 UIRefreshcontroller 一起闪烁

Posted

技术标签:

【中文标题】UITableview 与 UIRefreshcontroller 一起闪烁【英文标题】:UITableview getting flickering with UIRefreshcontroller 【发布时间】:2015-09-15 10:23:30 【问题描述】:

当我从 tableview 中删除所有对象并使用动画重新加载 tableview 时,tableview 会闪烁。

我正在做这样的事情:

-(void)viewDidLoad 

    [super viewDidLoad];

    self.voiceSTableView.voicestationDelegate = self;

    refreshControl = [[UIRefreshControl alloc] init];

    [refreshControl addTarget:self action:@selector(getRefreshData) forControlEvents:UIControlEventValueChanged];

    UITableViewController *tableViewController = [[UITableViewController alloc] init];

    tableViewController.tableView = self.voiceSTableView ;

    tableViewController.refreshControl = refreshControl;

    self.voiceSTableView.refreshController = refreshControl;




-(void)getRefreshData

    if(isRequestLoading)
        [refreshControl endRefreshing];
        return;
    
    [self.voiceSTableView.arVoicerData removeAllObjects];
    [UIView animateWithDuration:0 animations:^
        [self.voiceSTableView reloadData];
     completion:^(BOOL finished) 
    ];
 

即使这段代码也不起作用:

[self.voiceSTableview reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];

【问题讨论】:

从数组中删除所有对象,您得到服务器的响应。不要在 getRefreshData 方法中删除。 @BhadreshMulsaniya 我尝试了您的解决方案,但它对我不起作用。 【参考方案1】:

我之前也遇到过同样的问题。

请尝试使用此链接:

“UIRefreshControl on viewDidLoad”

【讨论】:

以上是关于UITableview 与 UIRefreshcontroller 一起闪烁的主要内容,如果未能解决你的问题,请参考以下文章

如何与重叠显示的 UITableView 交互另一个 UITableView

UIView 与 UITableview 和 UIImageview,使用 reloadData 访问 UITableview

等待用户完成与 UITableView 的交互

UITableView 与 UIScrollView

UISearchController 与 UITableView?

let tableView = UITableView()与let tableView之间的区别:UITableView!这两个语句