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];
    });
}

このちらつきを回避するには?

4

1 に答える 1