iOS7中UIRefreshControl闪烁问题

6
如果在UIRefreshControl不可见时以编程方式启动它(beginRefreshing然后endRefreshing),则下一次手动刷新时UIRefreshControl动画会持续闪烁。
在UITableViewController子类中添加此方法,等待2秒后进行下拉刷新,您将看到闪烁现象。
-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    UIRefreshControl * refreshControl = [[UIRefreshControl alloc] init];

    self.refreshControl = refreshControl;

    [self.refreshControl beginRefreshing];

    double delayInSeconds = 2.0;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 
    (int64_t)(delayInSeconds * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

        [self.refreshControl endRefreshing];
    });
}

如何避免屏幕闪烁?

1
我认为这是一个bug。几天前我也遇到了相同的行为。 - Julian F. Weinert
看看邮件应用程序(至少在iPad上),如果您开始更新,然后再次拉动,刷新控件也会闪烁。 - Timur Kuchkarov
1个回答

0

把你的代码放在viewDidLoad或viewWillAppear而不是viewDidAppear中。

另外,你能告诉我为什么要把代码放在viewDidAppear方法里而不是viewDidLoad或viewWillAppear吗?


没有特别的原因,我只是在一个示例应用程序中尝试它。即使在viewWillAppear中,这种闪烁也会存在! - 8suhas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接