diff --git a/iOS/MasterFeed/Cell/MasterFeedTableViewCellLayout.swift b/iOS/MasterFeed/Cell/MasterFeedTableViewCellLayout.swift index 3ba4d5239..4ff894978 100644 --- a/iOS/MasterFeed/Cell/MasterFeedTableViewCellLayout.swift +++ b/iOS/MasterFeed/Cell/MasterFeedTableViewCellLayout.swift @@ -98,7 +98,7 @@ struct MasterFeedTableViewCellLayout { } } - let rLabel = CGRect(x: rLabelx, y: rLabely, width: labelWidth, height: labelSizeInfo.size.height) + var rLabel = CGRect(x: rLabelx, y: rLabely, width: labelWidth, height: labelSizeInfo.size.height) // Determine cell height let paddedLabelHeight = rLabel.maxY + UIFontMetrics.default.scaledValue(for: MasterFeedTableViewCellLayout.verticalPadding) @@ -117,6 +117,12 @@ struct MasterFeedTableViewCellLayout { rDisclosure = MasterFeedTableViewCellLayout.centerVertically(rDisclosure, newBounds) } + // Small fonts and the Favicon need centered if we hit the minimum row height + if cellHeight == MasterFeedTableViewCellLayout.minRowHeight { + rLabel = MasterFeedTableViewCellLayout.centerVertically(rLabel, newBounds) + rFavicon = MasterFeedTableViewCellLayout.centerVertically(rFavicon, newBounds) + } + // Separator Insets let separatorInset = MasterFeedTableViewCellLayout.disclosureButtonSize.width separatorRect = CGRect(x: separatorInset, y: cellHeight - 0.5, width: cellWidth - separatorInset, height: 0.5) diff --git a/iOS/MasterFeed/Cell/MasterFeedTableViewSectionHeaderLayout.swift b/iOS/MasterFeed/Cell/MasterFeedTableViewSectionHeaderLayout.swift index 5b487f837..1421e16f0 100644 --- a/iOS/MasterFeed/Cell/MasterFeedTableViewSectionHeaderLayout.swift +++ b/iOS/MasterFeed/Cell/MasterFeedTableViewSectionHeaderLayout.swift @@ -57,7 +57,7 @@ struct MasterFeedTableViewSectionHeaderLayout { labelWidth = cellWidth - (rLabelx + MasterFeedTableViewSectionHeaderLayout.labelMarginRight + maxUnreadCountSize.width + MasterFeedTableViewSectionHeaderLayout.unreadCountMarginRight) let labelSizeInfo = MultilineUILabelSizer.size(for: label.text ?? "", font: label.font, numberOfLines: 0, width: Int(floor(labelWidth))) - let rLabel = CGRect(x: rLabelx, y: rLabely, width: labelWidth, height: labelSizeInfo.size.height) + var rLabel = CGRect(x: rLabelx, y: rLabely, width: labelWidth, height: labelSizeInfo.size.height) // Determine cell height let paddedLabelHeight = rLabel.maxY + UIFontMetrics.default.scaledValue(for: MasterFeedTableViewSectionHeaderLayout.verticalPadding) @@ -74,6 +74,11 @@ struct MasterFeedTableViewSectionHeaderLayout { } rDisclosure = MasterFeedTableViewCellLayout.centerVertically(rDisclosure, newBounds) + // Small fonts need centered if we hit the minimum row height + if cellHeight == MasterFeedTableViewSectionHeaderLayout.minRowHeight { + rLabel = MasterFeedTableViewCellLayout.centerVertically(rLabel, newBounds) + } + // Assign the properties self.height = cellHeight self.unreadCountRect = rUnread