This commit is contained in:
Hailey
2024-01-18 22:53:08 -08:00
parent 384c8ec3a8
commit 209caffa7d
2 changed files with 12 additions and 10 deletions
@@ -62,6 +62,7 @@ class RNUITextView: UIView {
self.textView.frame.size = size
self.textView.textContainer.maximumNumberOfLines = numberOfLines
self.textView.attributedText = string
self.textView.selectedTextRange = nil
if let onTextLayout = self.onTextLayout {
var lines: [String] = []
@@ -107,16 +108,15 @@ class RNUITextView: UIView {
fractionOfDistanceBetweenInsertionPoints: nil
)
for child in self.subviews {
guard let child = child as? RNUITextViewChild, let text = child.text else {
continue
}
for child in self.reactSubviews() {
if let child = child as? RNUITextViewChild, let childText = child.text {
let fullText = self.textView.attributedText.string
let range = fullText.range(of: childText)
let range = text.range(of: text)
if let lowerBound = range?.lowerBound, let upperBound = range?.upperBound {
if charIndex >= lowerBound.utf16Offset(in: text) && charIndex <= upperBound.utf16Offset(in: text) {
return child
if let lowerBound = range?.lowerBound, let upperBound = range?.upperBound {
if charIndex >= lowerBound.utf16Offset(in: fullText) && charIndex <= upperBound.utf16Offset(in: fullText) {
return child
}
}
}
}
@@ -33,7 +33,9 @@ export function UITextView({style, children, ...rest}: TextProps) {
{...textDefaults}
{...rest}
ellipsizeMode={rest.ellipsizeMode ?? rest.lineBreakMode ?? 'tail'}
style={[{flex: 1}, flattenedStyle]}>
style={[{flex: 1}, flattenedStyle]}
onPress={undefined} // We want these to go to the children only
onLongPress={undefined}>
{React.Children.toArray(children).map((c, index) => {
if (React.isValidElement(c)) {
return c