React Native中带有ScrollsToTop的Mutliline TextInput

时间:2019-01-29 12:45:05

标签: ios react-native

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

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

但是,RCTMultilineTextInputView具有backedTextInputView作为子视图,而道具不会传递到子视图。 (It's hardcodedNO

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

1 个答案:

答案 0 :(得分:1)

我通过类别添加了其他属性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