UITableView Flicker Effect - ios

There are about 100 cells displayed in UITableView. So , when I scroll down or up too fast I see a flicker effect over UITableView.
I have also re-used the cells and I am not using reloadData in my code, but still I see flicker effect.
The content that I am displaying in each cell is only text.
I have also gone through this thread but did not found useful UITableView section headers are blank and flickering.

I think with a number of cells I noticed my old iphone 3g struggle every now and then when i was flicking for a quick scroll to the bottom.

Related

UISearchBar makes UITableViewController scrolling too low (IOS11)

On my UITableViewController the tableview scrolls too low. What I mean by that is that when scrolling to the bottom the last row is actually located way higher than the middle of the screen leaving a big white space on the bottom (lower half) of the screen.
I´m using a tableview with two collection views within some of the cells (if that might be important).
When I "pull to refresh", the tableview scrolls correctly until the view loads again.
EDIT:
So I found out that the issue only occurs when I add my UISearchBar as the header view of my table view instead of adding it to my navigationItem (IOS11).
Does anybody know how to fix this?

Choppy Scrolling Animation for UITableView in iOS8 Using Dynamic Cell Height

I'm working on developing a newsfeed where most cells have different heights from each other. So I'm using Apple's new built-in system to calculate the height of the rows dynamically in iOS8.
The problem happens when I have to load a new page. When I do that, then scroll back towards the top, the content size of the table appears to be smaller than it should and the loading of the cells is really choppy. So when I start scrolling upwards, I'll be at the 5th cell and then all of the sudden the 4th cell will jump down. I attached the project if you guys want to see my code: https://github.com/KhanFu/TableView-Dynamic-Cell-Height-Pagination
If you keep an eye when you're scrolling the table view, you'll see it jumps upwards. To re-create the bug, first scroll all the way to the bottom, so it loads the next page (11, 12, and 13). Then start scrolling upwards. For the clearest version of this, keep your eye on the number 7. Watch how it almost instantaneously becomes 6.
Essentially, when the content offset of the table reaches the bottom of the table, I adds an object to the table's data, then I add a row with insertRowsAtIndexPaths.
I've been banging my head against this problem for awhile now. Let me know if you need more information. Thanks!

UITableView choppy up scroll W/O images

After returning from a detail controller. I call scrollToRowAtIndexPath and it works as expected returning me to the row. If i continue to scroll down the tableview everything is fine, but scrolling up is extremely choppy no matter how slowly i scroll. No images just text. Is there any way to improve on this? All cells are the same and use the same identifier.

UITableView cells are unloaded too early after reordering

I've recently built in reordering into my UITableView but there's a nasty bug I'm experiencing after reordering the cells. The bug only occurs after a cell has been reordered: When scrolling the table view up, the cells visible at the bottom of the screen sometimes simply disappear while scrolling. It seems as if the cells are unloaded too early. This only happens when scrolling up. When scrolling down the bug doesn't exist. The cells that randomly disappear also re-appear when scrolling down once their empty space leaves the screen. Here's a screenshot of this issue:
I'm pretty sure that my data source isn't the problem because:
When reordering a cell my data source updates as well
I've checked the table view with Spark Inspector and the missing cells aren't simply hidden or empty but they just don't exist, there is no cell at all where the empty spaces are.
After scrolling around the cells re-appear, the cells randomly appear and disappear
It must be some bug or issue in UITableView, but I may also be wrong with that assumption. Maybe somebody has already faced this problem and can help me out now ;) I'm waiting for your answers :)
Edit:
I just checked the -tableView:didEndDisplayingCell:forRowAtIndexPath: delegate method and the cells are really unloaded normally and that method is called, even though the cells are still visible on the screen!
Edit (2):
I now know that the issue only occurs when my table view has a header view. It doesn't matter if I use the default header or a custom one, but whenever I use a header view I also get the bug. When I don't use a header it works just fine. Thats really strange
Note: I'm testing this on iOS 6.1.2

UITableView Section Headers not visible when table in visible rect

I have a UIScrollView with 3 UITableViews stacked horizontally. I switch between these tableviews using a tab-controller on top. However, when I switch to the 2nd or 3rd tab and switch back quickly to 1st the section headers don't show. They display when I scroll the tableView. These are custom headers (jfyi). I tried calling setNeedsDisplay when the tableView is visible, but that does not help because as per Apple Docs :
If you simply change the geometry of the view, the view is typically not redrawn. Instead, its existing content is adjusted based on the value in the view’s contentMode property. Redisplaying the existing content improves performance by avoiding the need to redraw content that has not changed.
Since, only the geometry of the view is changing here, it does not help. Also this happens on all versions iOS 5~6.1 and on simulator and device. Thankfully, this does not crash the app, but its a problem nevertheless. Could someone help? I am attaching pictures for reference. First shows the problem, second: after scrolling the "head(er)less" tableview
EDIT:
I am using simple scrollRectToVisible:animated: to switch between tableviews. This does the trick but I just observed that when I set ...animated:NO all is okay. The problem happens when ...animated:YES
It seems the issue of displaying and scrolling taking place simultaneously for the respective tableview. So what you can do here is:
Remove the scroll animation
or
Just scroll the tableview to top on the tab press event
or
simply reload the tableView which is made visible

Resources