Usually you get unwanted animations in UITableViewCells when animating the height of a UITableView. New cells that are reused come and have strange unwanted animations on the subtitles that are laid out. This is usually seen when the table expands.
Animations usually look as if objects appear from around the corner, because for some reason they enliven the width and height of the supervision from 0 to the size that they should be.
This can be solved by overriding the cellSubviews method.
- (void)layoutSubviews { [UIView performWithoutAnimation:^{ [super layoutSubviews]; }]; }
But this still does not prevent the areas it contains from making unnecessary animations. It also does not prevent unwanted animations when you add things to the cell’s contentView. You basically have to override the layoutSubviews methods for each individual subheading, if you also have subviews.
This is not always possible, as is the case with contentView. I can not override the contentView class and tell it to lay out its subtitles without animation. This is also a very cumbersome fix since I need to add this to every UIView object that I can override.
I still have not found an answer that corrects this once and for all. How to simply animate a restriction on something, but prevent weird unwanted animations in their subtitles.
source share