I am working on an existing iOS-App in which I have added new features with React-Native. Works great so far. Now I have to use an already developed custom native Swift UITextView subclass. The text is getting fetched from the API. So the size of the UITextView should be dynamic.
On React-Native side it looks like this:
import { requireNativeComponent } from 'react-native';
export const NativeTextView = requireNativeComponent('RNNativeTextView');
export default function FooView(props: FooViewProps) {
    return (
        <View
            style={{
                ...props.style,
                flexDirection: 'row',
                flexWrap: 'wrap',
                backgroundColor: 'red',
                margin: Dimensions.generalPadding * 2,
            }}
        >
            <NativeTextView
                text={props.viewModel.aboutMeText}
                textColorString={Colors.red}
                backgroundColor={Colors.black}
                style={{
                    ...regularTextStyle,
                    width: "100%",
                    flexDirection: 'row',
                }}    />
        </View>
    )
}
On the native iOS side:
@objc(RNNativeTextView)
class NativeTextView: UITextView {
   ... (native implementation)
}
import Foundation
@objc(RNNativeTextViewManager)
class RNNativeTextViewManager: RCTViewManager {
    override func view() -> UIView! {
        let textView = NativeTextView(frame: CGRect(x: 0, y: 0, width: .zero, height: .zero))
        return textView
  }
}
#import <React/RCTBridgeModule.h>
#import <React/RCTViewManager.h>
@interface RCT_EXTERN_MODULE(RNNativeTextViewManager, RCTViewManager)
RCT_EXPORT_VIEW_PROPERTY(text, NSString)
RCT_EXPORT_VIEW_PROPERTY(textColorString, NSString)
+ (BOOL)requiresMainQueueSetup { return YES; }
@end
Like this no TextView is shown at all. This is so because the height of the NativeTextView is 0. If I put a static fixed height to the style, the NativeTextView is getting rendered like expected. But what I want is a dynamic height which depends on the text length of course.
Tried to find a solution on the dev-documentation but found nothing really helpful. Missed I something? How would be a good and efficient way to calculate the height of this UITextView?