@@ -350,12 +350,14 @@ - (void)setPasswordRules:(NSString *)descriptor
350350
351351- (UIKeyboardType)keyboardType
352352{
353+ NSLog (@" setKeyboardType called with value: %ld " , self.backedTextInputView.keyboardType);
353354 return self.backedTextInputView .keyboardType ;
354355}
355356
356357- (void )setKeyboardType : (UIKeyboardType)keyboardType
357358{
358359 UIView<RCTBackedTextInputViewProtocol> *textInputView = self.backedTextInputView ;
360+ NSLog (@" setKeyboardType called with value: %ld " , keyboardType);
359361 if (textInputView.keyboardType != keyboardType) {
360362 textInputView.keyboardType = keyboardType;
361363 // Without the call to reloadInputViews, the keyboard will not change until the textview field (the first responder)
@@ -637,6 +639,18 @@ - (void)didMoveToWindow
637639 [self .backedTextInputView reactFocusIfNeeded ];
638640 }
639641
642+ NSLog (@" backedTextInputView: %@ " , self.backedTextInputView);
643+
644+ // Apply keyboard shortcuts setting when view becomes active
645+ if (_disableKeyboardShortcuts && self.backedTextInputView .isFirstResponder ) {
646+ UITextInputAssistantItem *inputAssistantItem = self.backedTextInputView .inputAssistantItem ;
647+ if (inputAssistantItem) {
648+ inputAssistantItem.leadingBarButtonGroups = @[];
649+ inputAssistantItem.trailingBarButtonGroups = @[];
650+ }
651+ [self .backedTextInputView reloadInputViews ];
652+ }
653+
640654 _didMoveToWindow = YES ;
641655}
642656
@@ -801,4 +815,22 @@ static BOOL findMismatch(NSString *first, NSString *second, NSRange *firstRange,
801815 return YES ;
802816}
803817
818+ - (void )setDisableKeyboardShortcuts : (BOOL )disableKeyboardShortcuts {
819+ _disableKeyboardShortcuts = disableKeyboardShortcuts;
820+ NSLog (@" setDisableKeyboardShortcuts called with value: %d " , disableKeyboardShortcuts);
821+
822+ id <RCTBackedTextInputViewProtocol> backedTextInputView = self.backedTextInputView ;
823+ NSLog (@" backedTextInputView: %@ " , backedTextInputView);
824+
825+
826+ if (disableKeyboardShortcuts) {
827+ UITextInputAssistantItem *inputAssistantItem = backedTextInputView.inputAssistantItem ;
828+ if (inputAssistantItem) {
829+ inputAssistantItem.leadingBarButtonGroups = @[];
830+ inputAssistantItem.trailingBarButtonGroups = @[];
831+ }
832+ }
833+
834+ }
835+
804836@end
0 commit comments