iOS - Refresh Control - "Attempting to change the refresh control while it is not idle is strongly discouraged and probably won't work properly."

StackOverflow https://stackoverflow.com/questions/21296028

Question

I cannot find many references to this warning anywhere. I have two view controllers that offer pull-to-refresh control. One is fine. The other produces the warning above. I copied the code from one to the other.

The code is as follows (PFUser refers to Parse.com):

[super viewDidAppear:animated];
    if ([PFUser currentUser]) {
        NSLog(@"who's the user: %@", [PFUser currentUser]);


        UIRefreshControl *refreshTable = [[UIRefreshControl alloc] init];
        refreshTable.attributedTitle = [[NSAttributedString alloc] initWithString:@"One sec... refreshing"];
        [refreshTable addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
        self.refreshControl = refreshTable;

    } else {

Has anyone else encountered this? and is there a work-around/fix?

Was it helpful?

Solution

Do it inside viewDidLoad method.

OTHER TIPS

In my case, this warning popped up since I was doing collectionView.refreshControl = nil while refreshControl was animating. Calling refreshControl.endRefreshing() before doing that eliminated the warning.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top