diff --git a/Signal/src/ViewControllers/ConversationView/Cells/ConversationViewCell.m b/Signal/src/ViewControllers/ConversationView/Cells/ConversationViewCell.m index f6c72de3c..6235989d4 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/ConversationViewCell.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/ConversationViewCell.m @@ -35,53 +35,10 @@ NS_ASSUME_NONNULL_BEGIN _isCellVisible = isCellVisible; if (isCellVisible) { - [self forceLayoutImmediately]; + [self layoutIfNeeded]; } } -- (void)setFrame:(CGRect)frame -{ - BOOL didSizeChange = CGSizeEqualToSize(self.frame.size, frame.size); - - [super setFrame:frame]; - - if (didSizeChange) { - [self forceLayoutImmediately]; - } -} - -- (void)setBounds:(CGRect)bounds -{ - BOOL didSizeChange = CGSizeEqualToSize(self.bounds.size, bounds.size); - - [super setBounds:bounds]; - - if (didSizeChange) { - [self forceLayoutImmediately]; - } -} - -- (void)forceLayoutImmediately -{ - NSArray *descendents = [ConversationViewCell collectSubviewsOfViewDepthFirst:self]; - for (UIView *view in descendents) { - [view setNeedsLayout]; - } - for (UIView *view in descendents.reverseObjectEnumerator) { - [view layoutIfNeeded]; - } -} - -+ (NSArray *)collectSubviewsOfViewDepthFirst:(UIView *)view -{ - NSMutableArray *result = [NSMutableArray new]; - for (UIView *subview in view.subviews) { - [result addObjectsFromArray:[self collectSubviewsOfViewDepthFirst:subview]]; - } - [result addObject:view]; - return result; -} - @end NS_ASSUME_NONNULL_END