Bug with scrollsToTop and UIRefreshControl

ios, iphone, objective-c, uirefreshcontrol, uitableview

Solution

I am experiencing the same bug, and it only happens when you have an attributed title. It also happens, if I first time tap a search bar, the result is the same. Here is a workaround that worked for me:

- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView
{
     if(self.refreshControl!=nil)
     {
          [self.refreshControl beginRefreshing];
          [self.refreshControl endRefreshing];
     }
     return scrollView.scrollsToTop;
}

Problem

I have a bug in my iOS App. I'm using a UITableView, in which I implemented a "pull to refresh" controller like this : ``` self.refreshControl = [[UIRefreshControl alloc] init]; self.refreshControl.backgroundColor = [UIColor clearColor]; self.refreshControl.tintColor = [UIColor blackColor]; [self.refreshControl addTarget:self action:@selector(loadTheXML) forControlEvents:UIControlEventValueChanged]; ``` But, I have a little bug. If I scroll down the table, and if I tap the status bar to scroll to the top of the table, the refresh controller is partially displayed. Here a gif of what is happening : gif link. If I use this refresh controller one time, the bug is not happening anymore, when I tap the status bar, it scrolls to the top of table. Any idea on how to fix this bug ?

Original source