From c6f370810b0a8e1dd584bf7fcf71296e0193c36a Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Mon, 2 Jul 2018 12:41:47 -0400 Subject: [PATCH] Refine cell sizing. --- .../ConversationView/Cells/OWSMessageBubbleView.m | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m index c8483ed5d..efb9f603a 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSMessageBubbleView.m @@ -1026,7 +1026,6 @@ NS_ASSUME_NONNULL_BEGIN } CGFloat hMargins = self.conversationStyle.textInsetHorizontal * 2; - const int maxTextWidth = (int)floor(self.conversationStyle.maxMessageWidth - hMargins); [self configureBodyTextView]; @@ -1042,6 +1041,10 @@ NS_ASSUME_NONNULL_BEGIN OWSAssert(self.conversationStyle.maxMessageWidth > 0); CGFloat maxMessageWidth = self.conversationStyle.maxMessageWidth; + if (!self.hasFullWidthMediaView) { + CGFloat hMargins = self.conversationStyle.textInsetHorizontal * 2; + maxMessageWidth -= hMargins; + } CGSize result = CGSizeZero; switch (self.cellType) { @@ -1150,7 +1153,7 @@ NS_ASSUME_NONNULL_BEGIN const int maxTextWidth = (int)floor(self.conversationStyle.maxMessageWidth - hMargins); [self configureSenderNameLabel]; CGSize result = CGSizeCeil([self.senderNameLabel sizeThatFits:CGSizeMake(maxTextWidth, CGFLOAT_MAX)]); - + result.width = MIN(result.width, maxTextWidth); return [NSValue valueWithCGSize:result]; } @@ -1230,6 +1233,9 @@ NS_ASSUME_NONNULL_BEGIN cellSize = CGSizeCeil(cellSize); + OWSAssert(cellSize.width <= self.conversationStyle.maxMessageWidth); + cellSize.width = MIN(cellSize.width, self.conversationStyle.maxMessageWidth); + return cellSize; }