react-native/ReactKit/Views/RCTTextFieldManager.m

52 lines
1.4 KiB
Objective-C

// Copyright 2004-present Facebook. All Rights Reserved.
#import "RCTTextFieldManager.h"
#import "RCTConvert.h"
#import "RCTShadowView.h"
#import "RCTTextField.h"
@implementation RCTTextFieldManager
- (UIView *)view
{
return [[RCTTextField alloc] initWithEventDispatcher:self.eventDispatcher];
}
RCT_EXPORT_VIEW_PROPERTY(caretHidden)
RCT_EXPORT_VIEW_PROPERTY(autoCorrect)
RCT_EXPORT_VIEW_PROPERTY(enabled)
RCT_EXPORT_VIEW_PROPERTY(placeholder)
RCT_EXPORT_VIEW_PROPERTY(text)
RCT_EXPORT_VIEW_PROPERTY(font)
RCT_REMAP_VIEW_PROPERTY(autoCapitalize, autocapitalizationType)
RCT_EXPORT_VIEW_PROPERTY(keyboardType)
RCT_REMAP_VIEW_PROPERTY(color, textColor)
- (void)set_fontSize:(id)json
forView:(RCTTextField *)view
withDefaultView:(RCTTextField *)defaultView
{
view.font = [RCTConvert UIFont:view.font withSize:json ?: @(defaultView.font.pointSize)];
}
- (void)set_FontWeight:(id)json
forView:(RCTTextField *)view
withDefaultView:(RCTTextField *)defaultView
{
view.font = [RCTConvert UIFont:view.font withWeight:json]; // TODO
}
- (void)set_fontFamily:(id)json
forView:(RCTTextField *)view
withDefaultView:(RCTTextField *)defaultView
{
view.font = [RCTConvert UIFont:view.font withFamily:json ?: defaultView.font.familyName];
}
// TODO: original code set view.paddingEdgeInsets from shadowView.paddingAsInsets
// could it be that this property is calculated asynchrously on shadow thread?
@end