Do it inside viewDidLoad
method.
iOS - Refresh Control - "Attempting to change the refresh control while it is not idle is strongly discouraged and probably won't work properly."
-
01-10-2022 - |
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?
Solution
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