@@ -52,6 +52,14 @@ void Swizzle(Class c, SEL orig, SEL new)
5252 method_exchangeImplementations (origMethod, newMethod);
5353}
5454
55+ - (UIColor *)colorFromHexString : (NSString *)hexString {
56+ unsigned rgbValue = 0 ;
57+ NSScanner *scanner = [NSScanner scannerWithString: hexString];
58+ [scanner setScanLocation: 1 ]; // bypass '#' character
59+ [scanner scanHexInt: &rgbValue];
60+ return [UIColor colorWithRed: ((rgbValue & 0xFF0000 ) >> 16 )/255.0 green: ((rgbValue & 0xFF00 ) >> 8 )/255.0 blue: (rgbValue & 0xFF )/255.0 alpha: 1.0 ];
61+ }
62+
5563+ (BOOL )requiresMainQueueSetup
5664{
5765 return YES ;
@@ -109,6 +117,21 @@ + (BOOL)requiresMainQueueSetup
109117 [[IQKeyboardManager sharedManager ] setShouldToolbarUsesTextFieldTintColor: enabled];
110118}
111119
120+ RCT_EXPORT_METHOD (setToolbarTintColor: (NSString *) hexString) {
121+ dispatch_sync (dispatch_get_main_queue (), ^{
122+ if (debugging) RCTLogInfo (@" KeyboardManager.setToolbarTintColor: %@ " , hexString);
123+ UIColor* toolbarTintColor = [self colorFromHexString: hexString];
124+ [[IQKeyboardManager sharedManager ] setToolbarTintColor: toolbarTintColor];
125+ });
126+ }
127+
128+ RCT_EXPORT_METHOD (setToolbarBarTintColor: (NSString *) hexString) {
129+ dispatch_sync (dispatch_get_main_queue (), ^{
130+ if (debugging) RCTLogInfo (@" KeyboardManager.setToolbarBarTintColor: %@ " , hexString);
131+ UIColor* toolbarBarTintColor = [self colorFromHexString: hexString];
132+ [[IQKeyboardManager sharedManager ] setToolbarBarTintColor: toolbarBarTintColor];
133+ });
134+ }
112135
113136RCT_EXPORT_METHOD (shouldShowToolbarPlaceholder: (BOOL ) enabled) {
114137 if (debugging) RCTLogInfo (@" KeyboardManager.shouldShowToolbarPlaceholder: %d " , enabled);
0 commit comments