当用户点击iOS上的状态栏时,我想在多行TextInput上执行“滚动到顶部”操作。 TextInput在屏幕上具有最大比例,因此上下文相当直接。
<TextInput multiline={true} scrollsToTop={true} />
但是,
RCTMultilineTextInputView
将backedTextInputView
作为子视图,并且道具不会传递到子视图。 (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