From 76c9da5f03cb5a4242a7fdf7f3c42e61a43c989b Mon Sep 17 00:00:00 2001 From: Gregory Moskaliuk Date: Mon, 22 Jun 2026 17:47:11 +0200 Subject: [PATCH 1/3] fix(ios): replace per-cell UITextView with single drawRect pass for tables --- .../ios/views/ENRMTableIOSGridView.h | 40 ++++ .../ios/views/ENRMTableIOSGridView.m | 218 ++++++++++++++++++ .../ios/views/TableContainerView.m | 164 ++++--------- 3 files changed, 302 insertions(+), 120 deletions(-) create mode 100644 packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.h create mode 100644 packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.m diff --git a/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.h b/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.h new file mode 100644 index 00000000..26db4294 --- /dev/null +++ b/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.h @@ -0,0 +1,40 @@ +#pragma once + +#include +#if !TARGET_OS_OSX + +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef void (^ENRMTableIOSLinkBlock)(NSString *url); + +@interface ENRMTableIOSRowData : NSObject +@property (nonatomic, strong) NSArray *cellTexts; +@property (nonatomic, strong) UIColor *backgroundColor; +@end + +/// Draws the entire table grid in a single drawRect: pass, avoiding +/// per-cell UITextView allocation and the TextKit layout storms that +/// cause multi-second main-thread hangs on large tables. +@interface ENRMTableIOSGridView : UIView + +@property (nonatomic, copy, nullable) ENRMTableIOSLinkBlock onLinkTap; +@property (nonatomic, copy, nullable) ENRMTableIOSLinkBlock onLinkLongTap; + +- (void)updateWithRows:(NSArray *)rows + columnWidths:(NSArray *)columnWidths + rowHeights:(NSArray *)rowHeights + borderColor:(UIColor *)borderColor + borderWidth:(CGFloat)borderWidth + horizontalCellPadding:(CGFloat)horizontalCellPadding + verticalCellPadding:(CGFloat)verticalCellPadding + cornerRadius:(CGFloat)cornerRadius; + +- (void)fadeInRowsFrom:(NSUInteger)startRow duration:(NSTimeInterval)duration; + +@end + +NS_ASSUME_NONNULL_END + +#endif // !TARGET_OS_OSX diff --git a/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.m b/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.m new file mode 100644 index 00000000..0c6a5e0e --- /dev/null +++ b/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.m @@ -0,0 +1,218 @@ +#import "ENRMTableIOSGridView.h" + +#if !TARGET_OS_OSX + +@implementation ENRMTableIOSRowData +@end + +@implementation ENRMTableIOSGridView { + NSArray *_tableRows; + NSArray *_columnWidths; + NSArray *_rowHeights; + UIColor *_borderColor; + CGFloat _borderWidth; + CGFloat _horizontalCellPadding; + CGFloat _verticalCellPadding; +} + +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + self.backgroundColor = [UIColor clearColor]; + self.contentMode = UIViewContentModeRedraw; + self.opaque = NO; + self.accessibilityElementsHidden = YES; + + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; + [self addGestureRecognizer:tap]; + + UILongPressGestureRecognizer *longPress = + [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)]; + [self addGestureRecognizer:longPress]; + } + return self; +} + +#pragma mark - Data + +- (void)updateWithRows:(NSArray *)rows + columnWidths:(NSArray *)columnWidths + rowHeights:(NSArray *)rowHeights + borderColor:(UIColor *)borderColor + borderWidth:(CGFloat)borderWidth + horizontalCellPadding:(CGFloat)horizontalCellPadding + verticalCellPadding:(CGFloat)verticalCellPadding + cornerRadius:(CGFloat)cornerRadius +{ + _tableRows = rows; + _columnWidths = columnWidths; + _rowHeights = rowHeights; + _borderColor = borderColor; + _borderWidth = borderWidth; + _horizontalCellPadding = horizontalCellPadding; + _verticalCellPadding = verticalCellPadding; + [self setNeedsDisplay]; +} + +- (void)fadeInRowsFrom:(NSUInteger)startRow duration:(NSTimeInterval)duration +{ + if (startRow >= _tableRows.count) + return; + + [UIView transitionWithView:self + duration:duration + options:UIViewAnimationOptionTransitionCrossDissolve + animations:^{} + completion:nil]; +} + +#pragma mark - Drawing + +- (void)drawRect:(CGRect)dirtyRect +{ + if (!_tableRows.count || !_columnWidths.count || !_rowHeights.count) + return; + + CGFloat yOffset = 0; + for (NSUInteger r = 0; r < _tableRows.count; r++) { + ENRMTableIOSRowData *rowData = _tableRows[r]; + CGFloat rowHeight = [_rowHeights[r] doubleValue]; + CGFloat xOffset = 0; + + for (NSUInteger c = 0; c < rowData.cellTexts.count; c++) { + CGFloat columnWidth = [_columnWidths[c] doubleValue]; + CGRect cellRect = CGRectMake(xOffset, yOffset, columnWidth + _borderWidth, rowHeight + _borderWidth); + + [rowData.backgroundColor setFill]; + UIRectFill(cellRect); + + [_borderColor setStroke]; + UIBezierPath *border = [UIBezierPath bezierPathWithRect:cellRect]; + border.lineWidth = _borderWidth; + [border stroke]; + + NSAttributedString *text = rowData.cellTexts[c]; + if (text.length > 0) { + CGRect textRect = CGRectMake(xOffset + _horizontalCellPadding, yOffset + _verticalCellPadding, + columnWidth - _horizontalCellPadding * 2, rowHeight - _verticalCellPadding * 2); + [text drawWithRect:textRect + options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading + context:nil]; + } + + xOffset += columnWidth; + } + yOffset += rowHeight; + } +} + +#pragma mark - Link hit-testing + +- (BOOL)cellAtPoint:(CGPoint)point + rowOrigin:(out CGFloat *)outRowY + rowHeight:(out CGFloat *)outRowH + colOrigin:(out CGFloat *)outColX + colWidth:(out CGFloat *)outColW + cellText:(out NSAttributedString *__autoreleasing *)outText +{ + CGFloat rowY = 0; + for (NSUInteger r = 0; r < _tableRows.count; r++) { + CGFloat rh = [_rowHeights[r] doubleValue]; + if (point.y >= rowY && point.y < rowY + rh) { + CGFloat colX = 0; + for (NSUInteger c = 0; c < _columnWidths.count; c++) { + CGFloat cw = [_columnWidths[c] doubleValue]; + if (point.x >= colX && point.x < colX + cw) { + ENRMTableIOSRowData *rowData = _tableRows[r]; + if (c >= rowData.cellTexts.count) + return NO; + *outRowY = rowY; + *outRowH = rh; + *outColX = colX; + *outColW = cw; + *outText = rowData.cellTexts[c]; + return YES; + } + colX += cw; + } + return NO; + } + rowY += rh; + } + return NO; +} + +static NSString *linkInAttributedString(NSAttributedString *text, CGRect textRect, CGPoint point) +{ + if (text.length == 0) + return nil; + + NSTextStorage *textStorage = [[NSTextStorage alloc] initWithAttributedString:text]; + NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init]; + NSTextContainer *textContainer = [[NSTextContainer alloc] initWithSize:textRect.size]; + textContainer.lineFragmentPadding = 0; + [layoutManager addTextContainer:textContainer]; + [textStorage addLayoutManager:layoutManager]; + [layoutManager ensureLayoutForTextContainer:textContainer]; + + CGPoint local = CGPointMake(point.x - textRect.origin.x, point.y - textRect.origin.y); + CGFloat fraction = 0; + NSUInteger glyphIndex = [layoutManager glyphIndexForPoint:local + inTextContainer:textContainer + fractionOfDistanceThroughGlyph:&fraction]; + NSUInteger charIndex = [layoutManager characterIndexForGlyphAtIndex:glyphIndex]; + if (charIndex >= text.length) + return nil; + + id linkValue = [text attribute:NSLinkAttributeName atIndex:charIndex effectiveRange:NULL]; + if ([linkValue isKindOfClass:[NSURL class]]) + return [(NSURL *)linkValue absoluteString]; + if ([linkValue isKindOfClass:[NSString class]]) + return linkValue; + return nil; +} + +- (NSString *)linkURLAtPoint:(CGPoint)point +{ + CGFloat rowY, rowH, colX, colW; + NSAttributedString *text; + if (![self cellAtPoint:point rowOrigin:&rowY rowHeight:&rowH colOrigin:&colX colWidth:&colW cellText:&text]) + return nil; + + CGRect textRect = CGRectMake(colX + _horizontalCellPadding, rowY + _verticalCellPadding, + colW - _horizontalCellPadding * 2, rowH - _verticalCellPadding * 2); + if (!CGRectContainsPoint(textRect, point)) + return nil; + + return linkInAttributedString(text, textRect, point); +} + +#pragma mark - Gesture handlers + +- (void)handleLinkGesture:(UIGestureRecognizer *)recognizer block:(ENRMTableIOSLinkBlock)block +{ + CGPoint point = [recognizer locationInView:self]; + NSString *url = [self linkURLAtPoint:point]; + if (url && block) { + block(url); + } +} + +- (void)handleTap:(UITapGestureRecognizer *)recognizer +{ + if (recognizer.state == UIGestureRecognizerStateEnded) { + [self handleLinkGesture:recognizer block:self.onLinkTap]; + } +} + +- (void)handleLongPress:(UILongPressGestureRecognizer *)recognizer +{ + if (recognizer.state == UIGestureRecognizerStateBegan) { + [self handleLinkGesture:recognizer block:self.onLinkLongTap]; + } +} + +@end + +#endif // !TARGET_OS_OSX diff --git a/packages/react-native-enriched-markdown/ios/views/TableContainerView.m b/packages/react-native-enriched-markdown/ios/views/TableContainerView.m index d4600090..98657b00 100644 --- a/packages/react-native-enriched-markdown/ios/views/TableContainerView.m +++ b/packages/react-native-enriched-markdown/ios/views/TableContainerView.m @@ -12,6 +12,8 @@ #if TARGET_OS_OSX #import "ENRMMenuAction.h" #import "ENRMTableGridView.h" +#else +#import "ENRMTableIOSGridView.h" #endif @interface TableCellData : NSObject @@ -26,7 +28,7 @@ @implementation TableCellData @end #if !TARGET_OS_OSX -@interface TableContainerView () +@interface TableContainerView () @end #else @interface TableContainerView () @@ -94,7 +96,19 @@ - (void)setupScrollView _gridContainer = gridView; [(NSScrollView *)_scrollView setDocumentView:_gridContainer]; #else - _gridContainer = [[RCTUIView alloc] init]; + ENRMTableIOSGridView *iosGridView = [[ENRMTableIOSGridView alloc] initWithFrame:CGRectZero]; + __weak TableContainerView *weakSelf = self; + iosGridView.onLinkTap = ^(NSString *url) { + TableContainerView *strongSelf = weakSelf; + if (strongSelf && strongSelf.onLinkPress) + strongSelf.onLinkPress(url); + }; + iosGridView.onLinkLongTap = ^(NSString *url) { + TableContainerView *strongSelf = weakSelf; + if (strongSelf && strongSelf.onLinkLongPress) + strongSelf.onLinkLongPress(url); + }; + _gridContainer = iosGridView; [_scrollView addSubview:_gridContainer]; UIContextMenuInteraction *contextMenu = [[UIContextMenuInteraction alloc] initWithDelegate:self]; [_gridContainer addInteraction:contextMenu]; @@ -180,24 +194,7 @@ - (void)animateNewRowsFromPreviousCount:(NSUInteger)previousRowCount duration:(N if (self.rowCount <= previousRowCount) { return; } - - NSArray *subviews = _gridContainer.subviews; - NSUInteger childCount = subviews.count; - if (childCount == 0 || self.rowCount == 0) { - return; - } - - NSUInteger colCount = childCount / self.rowCount; - if (colCount == 0) { - return; - } - - NSUInteger firstNewCellIndex = previousRowCount * colCount; - for (NSUInteger i = firstNewCellIndex; i < childCount; i++) { - RCTUIView *cellView = subviews[i]; - cellView.alpha = 0.0; - [UIView animateWithDuration:duration animations:^{ cellView.alpha = 1.0; }]; - } + [(ENRMTableIOSGridView *)_gridContainer fadeInRowsFrom:previousRowCount duration:duration]; } #else - (void)animateNewRowsFromPreviousCount:(NSUInteger)previousRowCount duration:(NSTimeInterval)duration @@ -318,6 +315,16 @@ - (RCTUIColor *)backgroundColorForRowIsHeader:(BOOL)isHeader bodyRowIndex:(NSUIn return (bodyRowIndex % 2 == 0) ? self.config.tableRowEvenBackgroundColor : self.config.tableRowOddBackgroundColor; } +- (NSArray *)attributedTextsForRow:(NSArray *)rowCells +{ + NSMutableArray *cellTexts = [NSMutableArray arrayWithCapacity:_colCount]; + for (NSUInteger columnIndex = 0; columnIndex < _colCount; columnIndex++) { + NSAttributedString *text = (columnIndex < rowCells.count) ? rowCells[columnIndex].attributedText : nil; + [cellTexts addObject:text ?: [[NSAttributedString alloc] init]]; + } + return [cellTexts copy]; +} + #if TARGET_OS_OSX - (void)renderGridMacOS { @@ -350,16 +357,6 @@ - (void)renderGridMacOS cornerRadius:self.config.tableBorderRadius]; } -- (NSArray *)attributedTextsForRow:(NSArray *)rowCells -{ - NSMutableArray *cellTexts = [NSMutableArray arrayWithCapacity:_colCount]; - for (NSUInteger columnIndex = 0; columnIndex < _colCount; columnIndex++) { - NSAttributedString *text = (columnIndex < rowCells.count) ? rowCells[columnIndex].attributedText : nil; - [cellTexts addObject:text ?: [[NSAttributedString alloc] init]]; - } - return [cellTexts copy]; -} - #else - (void)renderGridIOS @@ -368,108 +365,35 @@ - (void)renderGridIOS _gridContainer.layer.cornerRadius = self.config.tableBorderRadius; _gridContainer.layer.masksToBounds = YES; - CGFloat yOffset = 0; NSUInteger bodyRowIndex = 0; + NSMutableArray *rowDataArray = [NSMutableArray arrayWithCapacity:_rows.count]; - for (NSUInteger r = 0; r < _rows.count; r++) { - NSArray *row = _rows[r]; - CGFloat rowHeight = [_rowHeights[r] doubleValue]; - BOOL isHeaderRow = (row.count > 0 && row.firstObject.isHeader); + for (NSArray *rowCells in _rows) { + BOOL isHeaderRow = (rowCells.count > 0 && rowCells.firstObject.isHeader); - [self renderRow:row atY:yOffset height:rowHeight isHeader:isHeaderRow bodyIndex:bodyRowIndex]; + ENRMTableIOSRowData *rowData = [[ENRMTableIOSRowData alloc] init]; + rowData.backgroundColor = [self backgroundColorForRowIsHeader:isHeaderRow bodyRowIndex:bodyRowIndex]; + rowData.cellTexts = [self attributedTextsForRow:rowCells]; + [rowDataArray addObject:rowData]; - if (!isHeaderRow) + if (!isHeaderRow) { bodyRowIndex++; - yOffset += rowHeight; - } -} -#endif - -#if !TARGET_OS_OSX -- (void)renderRow:(NSArray *)row - atY:(CGFloat)yOffset - height:(CGFloat)height - isHeader:(BOOL)isHeader - bodyIndex:(NSUInteger)bodyIndex -{ - CGFloat xOffset = 0; - RCTUIColor *rowBackground = [self backgroundColorForRowIsHeader:isHeader bodyRowIndex:bodyIndex]; - - for (NSUInteger column = 0; column < _colCount; column++) { - CGFloat columnWidth = [_colWidths[column] doubleValue]; - CGRect cellFrame = CGRectMake(xOffset, yOffset, columnWidth + _borderWidth, height + _borderWidth); - - RCTUIView *cellBackground = [[RCTUIView alloc] initWithFrame:cellFrame]; - cellBackground.backgroundColor = rowBackground; - cellBackground.layer.borderColor = self.config.tableBorderColor.CGColor; - cellBackground.layer.borderWidth = _borderWidth; - [_gridContainer addSubview:cellBackground]; - - if (column < row.count) { - [self addTextToCell:cellBackground data:row[column] width:columnWidth height:height]; } - xOffset += columnWidth; } -} - -- (void)addTextToCell:(RCTUIView *)container data:(TableCellData *)data width:(CGFloat)width height:(CGFloat)height -{ - const CGFloat horizontalPadding = self.config.tableCellPaddingHorizontal; - const CGFloat verticalPadding = self.config.tableCellPaddingVertical; - CGRect contentFrame = - CGRectMake(horizontalPadding, verticalPadding, width - (horizontalPadding * 2), height - (verticalPadding * 2)); - UITextView *cellTextView = [self createCellTextView]; - cellTextView.frame = contentFrame; - cellTextView.attributedText = data.attributedText; - [container addSubview:cellTextView]; -} -- (UITextView *)createCellTextView -{ - UITextView *textView = [[UITextView alloc] init]; - textView.editable = NO; - textView.scrollEnabled = NO; - textView.selectable = NO; - textView.backgroundColor = [RCTUIColor clearColor]; - textView.textContainerInset = UIEdgeInsetsZero; - textView.accessibilityElementsHidden = YES; - textView.linkTextAttributes = @{}; - textView.delegate = self; - - UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self - action:@selector(cellTextTapped:)]; - [textView addGestureRecognizer:tapRecognizer]; - textView.textContainer.lineFragmentPadding = 0; - return textView; + ENRMTableIOSGridView *gridView = (ENRMTableIOSGridView *)_gridContainer; + [gridView updateWithRows:[rowDataArray copy] + columnWidths:_colWidths + rowHeights:_rowHeights + borderColor:self.config.tableBorderColor + borderWidth:_borderWidth + horizontalCellPadding:self.config.tableCellPaddingHorizontal + verticalCellPadding:self.config.tableCellPaddingVertical + cornerRadius:self.config.tableBorderRadius]; } #endif #if !TARGET_OS_OSX -- (void)cellTextTapped:(UITapGestureRecognizer *)recognizer -{ - UITextView *textView = (UITextView *)recognizer.view; - NSString *url = linkURLAtTapLocation(textView, recognizer); - if (url && self.onLinkPress) - self.onLinkPress(url); -} - -- (BOOL)textView:(UITextView *)textView - shouldInteractWithURL:(NSURL *)URL - inRange:(NSRange)range - interaction:(UITextItemInteraction)interaction -{ - if (interaction != UITextItemInteractionPresentActions) - return YES; - - NSString *urlString = linkURLAtRange(textView, range); - if (!urlString || self.enableLinkPreview) - return YES; - - if (self.onLinkLongPress) - self.onLinkLongPress(urlString); - return NO; -} - - (UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location { From 0dd06796eb79da51a000f227c69f1200ff07db86 Mon Sep 17 00:00:00 2001 From: Gregory Moskaliuk Date: Tue, 23 Jun 2026 10:51:30 +0200 Subject: [PATCH 2/3] fix(ios): ensure immutability of table data and improve link URL retrieval --- .../ios/views/ENRMTableIOSGridView.m | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.m b/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.m index 0c6a5e0e..13843503 100644 --- a/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.m +++ b/packages/react-native-enriched-markdown/ios/views/ENRMTableIOSGridView.m @@ -45,9 +45,9 @@ - (void)updateWithRows:(NSArray *)rows verticalCellPadding:(CGFloat)verticalCellPadding cornerRadius:(CGFloat)cornerRadius { - _tableRows = rows; - _columnWidths = columnWidths; - _rowHeights = rowHeights; + _tableRows = [rows copy]; + _columnWidths = [columnWidths copy]; + _rowHeights = [rowHeights copy]; _borderColor = borderColor; _borderWidth = borderWidth; _horizontalCellPadding = horizontalCellPadding; @@ -80,7 +80,8 @@ - (void)drawRect:(CGRect)dirtyRect CGFloat rowHeight = [_rowHeights[r] doubleValue]; CGFloat xOffset = 0; - for (NSUInteger c = 0; c < rowData.cellTexts.count; c++) { + NSUInteger colCount = MIN(rowData.cellTexts.count, _columnWidths.count); + for (NSUInteger c = 0; c < colCount; c++) { CGFloat columnWidth = [_columnWidths[c] doubleValue]; CGRect cellRect = CGRectMake(xOffset, yOffset, columnWidth + _borderWidth, rowHeight + _borderWidth); @@ -161,16 +162,13 @@ - (BOOL)cellAtPoint:(CGPoint)point NSUInteger glyphIndex = [layoutManager glyphIndexForPoint:local inTextContainer:textContainer fractionOfDistanceThroughGlyph:&fraction]; + if (glyphIndex >= layoutManager.numberOfGlyphs) + return nil; NSUInteger charIndex = [layoutManager characterIndexForGlyphAtIndex:glyphIndex]; if (charIndex >= text.length) return nil; - id linkValue = [text attribute:NSLinkAttributeName atIndex:charIndex effectiveRange:NULL]; - if ([linkValue isKindOfClass:[NSURL class]]) - return [(NSURL *)linkValue absoluteString]; - if ([linkValue isKindOfClass:[NSString class]]) - return linkValue; - return nil; + return [text attribute:@"linkURL" atIndex:charIndex effectiveRange:NULL]; } - (NSString *)linkURLAtPoint:(CGPoint)point From ac60c4b7910b88ddb46de02ea24a94d7088ff5ae Mon Sep 17 00:00:00 2001 From: Ernest Date: Tue, 23 Jun 2026 12:02:14 +0200 Subject: [PATCH 3/3] test: update stale maestro screenshot --- .../ios/paragraph_table_combo_display.png | Bin 31276 -> 31135 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.maestro/enrichedMarkdownText/screenshots/ios/paragraph_table_combo_display.png b/.maestro/enrichedMarkdownText/screenshots/ios/paragraph_table_combo_display.png index 3c56e38a0a747be3427bec72bc4d3731e33e378c..aacb0d6489af61cd1c2e36df8cc03aee36ac1b1f 100644 GIT binary patch literal 31135 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 a7>{f{!P;}*eDRRy;8*oFa8fg_8!v! literal 31276 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

;~6sHEDF6W4Ma& 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