Permalink
Browse files

Fixed calling TextInput.onChange() on applying autocorrection (iOS)

Reviewed By: javache

Differential Revision: D4444428

fbshipit-source-id: 1b107e79307dedad43bed4ba6f456b4988904764
  • Loading branch information...
shergin authored and facebook-github-bot committed Jan 25, 2017
1 parent 3589dec commit 9a9ecea873e686287369db76359420fb15e918e8
Showing with 10 additions and 0 deletions.
  1. +10 −0 Libraries/Text/RCTTextView.m
@@ -346,6 +346,8 @@ - (void)setContentInset:(UIEdgeInsets)contentInset
[self updateFrames];
}
+#pragma mark - UITextViewDelegate
+
- (BOOL)textView:(RCTUITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if (textView.textWasPasted) {
@@ -646,6 +648,12 @@ - (void)textViewDidChange:(UITextView *)textView
- (void)textViewDidEndEditing:(UITextView *)textView
{
+ if (_nativeUpdatesInFlight) {
+ // iOS does't call `textViewDidChange:` delegate method if the change was happened because of autocorrection
+ // which was triggered by loosing focus. So, we call it manually.
+ [self textViewDidChange:textView];
+ }
+
[_eventDispatcher sendTextEventWithType:RCTTextEventTypeEnd
reactTag:self.reactTag
text:textView.text
@@ -711,6 +719,8 @@ - (UIColor *)defaultPlaceholderTextColor
return [UIColor colorWithRed:0.0/255.0 green:0.0/255.0 blue:0.098/255.0 alpha:0.22];
}
+#pragma mark - UIScrollViewDelegate
+
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (_onScroll) {

0 comments on commit 9a9ecea

Please sign in to comment.