2013-10-23 38 views
5

如果UIRefreshControl以編程方式啓動,(beginRefreshing然後endRefreshing),當它是不可見的,那麼就在旁邊手動刷新的UIRefreshControl動畫連續閃爍。UIRefreshControl閃爍在iOS7

添加在子類的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

我認爲這是一個錯誤。我前幾天經歷過同樣的行爲 –

+0

看看郵件應用(至少在iPad上),如果你開始更新然後再次拉動,刷新控制也會閃爍。 –

回答

0

把你的代碼中viewDidLoad中或viewWillAppear中,而不是viewDidAppear。

另外,你能告訴我身後把代碼中的viewDidAppear方法,而不是viewDidLoad中或viewWillAppear中裏面的原因何在呢?

+0

沒有具體的原因,我在示例應用程序中嘗試它。即使在看來,這種閃爍將在那裏! – 8suhas