I've noticed a little bug (but really annoying) when I use
// Initializing generic refresh control
self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self action:@selector(collectData) forControlEvents:UIControlEventValueChanged];
This is a known bug in iOS7. You can see it reproduce in Apple's mail app. I can confirm it has not been fixed in
iOS7.1 beta 5 iOS8.0 beta 3.
First, open a bug report at https://bugreport.apple.com/
My radar number is
rdar://14586451, which is a duplicate of
rdar://14493713 (still open).
A proposed fix is to register for
UIApplicationWillEnterForegroundNotification notifications in your view controller and call
[self.refreshControl.superview sendSubviewToBack:self.refreshControl]; to somewhat remedy the issue by having the refresh control appear behind your table content.
I see in the second screenshot that the refresh control shows under your cell. This is likely because you have set a clear color as your cell's background. Set it to white.