RCTMultilineTextInputViewManager

RCTMultilineTextInputViewManager

当用户点击iOS上的状态栏时,我想在多行TextInput上执行“滚动到顶部”操作。 TextInput在屏幕上具有最大比例,因此上下文相当直接。

<TextInput multiline={true} scrollsToTop={true} />

但是,RCTMultilineTextInputViewbackedTextInputView作为子视图,并且道具不会传递到子视图。 (It's hardcoded作为NO)

我有什么办法可以通过这个道具?或者,对于这种情况是否有更好的实现方法?

最佳答案

我通过类别添加了其他属性scrollsToTop

// RCTMultilineTextInputView+ScrollsToTopAdditions.h

#import "RCTText/RCTMultilineTextInputViewManager.h"
#import <React/RCTViewManager.h>

NS_ASSUME_NONNULL_BEGIN

@interface RCTMultilineTextInputViewManager (ScrollsToTopAdditions)

@end

NS_ASSUME_NONNULL_END
// RCTMultilineTextInputViewManager+ScrollsToTopAdditions.m

#import "RCTMultilineTextInputViewManager+ScrollsToTopAdditions.h"

@implementation RCTMultilineTextInputViewManager (ScrollsToTopAdditions)
#if !TARGET_OS_TV
  RCT_REMAP_VIEW_PROPERTY(scrollsToTop, backedTextInputView.scrollsToTop, BOOL)
#endif
@end

07-27 19:18