Skip to content

Commit 1e342e7

Browse files
authored
Merge pull request react-native-text-input-mask#38 from leoneparise/fix-for-rn-54
Fix build for RN 0.54 and Cocoapods
2 parents 899175d + 50366ae commit 1e342e7

File tree

3 files changed

+21
-19
lines changed

3 files changed

+21
-19
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
.DS_Store
2+
xcuserdata/

ios/RNTextInputMask/RNTextInputMask.xcodeproj/project.pbxproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@
287287
buildSettings = {
288288
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
289289
DEVELOPMENT_TEAM = YRYY3MUZEK;
290-
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../react-native/Libraries/Text";
290+
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../react-native/Libraries/Text/**";
291291
OTHER_LDFLAGS = "-ObjC";
292292
PRODUCT_NAME = "$(TARGET_NAME)";
293293
SKIP_INSTALL = YES;
@@ -299,7 +299,7 @@
299299
buildSettings = {
300300
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
301301
DEVELOPMENT_TEAM = YRYY3MUZEK;
302-
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../react-native/Libraries/Text";
302+
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../react-native/Libraries/Text/**";
303303
OTHER_LDFLAGS = "-ObjC";
304304
PRODUCT_NAME = "$(TARGET_NAME)";
305305
SKIP_INSTALL = YES;

ios/RNTextInputMask/RNTextInputMask/RNTextInputMask.m

+18-17
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
#import <React/RCTConvert.h>
1111
#import <React/RCTUIManager.h>
1212
#import <React/RCTEventDispatcher.h>
13-
#import <RCTText/RCTSinglelineTextInputView.h>
14-
#import <RCTText/RCTUITextField.h>
13+
#import "RCTSinglelineTextInputView.h"
14+
#import "RCTUITextField.h"
1515
#import "RNTextInputMask.h"
1616

1717
@import InputMask;
@@ -43,17 +43,17 @@ - (dispatch_queue_t)methodQueue {
4343
dispatch_async(dispatch_get_main_queue(), ^{
4444
RCTSinglelineTextInputView *view = viewRegistry[reactNode];
4545
RCTUITextField *textView = [view backedTextInputView];
46-
46+
4747
if (!masks) {
4848
masks = [[NSMutableDictionary alloc] init];
4949
}
50-
50+
5151
NSString *key = [NSString stringWithFormat:@"%@", reactNode];
5252
MaskedTextFieldDelegate* maskedDelegate = [[MaskedTextFieldDelegate alloc] initWithFormat:mask];
5353
masks[key] = maskedDelegate;
5454
[masks[key] setListener:self];
5555
textView.delegate = masks[key];
56-
56+
5757
[self updateTextField:maskedDelegate textView:textView];
5858
});
5959
}];
@@ -62,17 +62,17 @@ - (dispatch_queue_t)methodQueue {
6262
- (void)textField:(RCTUITextField *)textField didFillMandatoryCharacters:(BOOL)complete didExtractValue:(NSString *)value
6363
{
6464
[self.bridge.eventDispatcher sendTextEventWithType:RCTTextEventTypeChange
65-
reactTag:[[textField reactSuperview] reactTag]
66-
text:textField.text
67-
key:nil
68-
eventCount:1];
65+
reactTag:[[textField reactSuperview] reactTag]
66+
text:textField.attributedText.string
67+
key:nil
68+
eventCount:1];
6969
}
7070

7171
- (void)textFieldDidBeginEditing:(UITextField *)textField
7272
{
7373
[self.bridge.eventDispatcher sendTextEventWithType:RCTTextEventTypeFocus
7474
reactTag:[[textField reactSuperview] reactTag]
75-
text:textField.text
75+
text:textField.attributedText.string
7676
key:nil
7777
eventCount:1];
7878
}
@@ -81,24 +81,25 @@ - (void)textFieldDidEndEditing:(RCTUITextField *)textField
8181
{
8282
[self.bridge.eventDispatcher sendTextEventWithType:RCTTextEventTypeBlur
8383
reactTag:[[textField reactSuperview] reactTag]
84-
text:textField.text
84+
text:textField.attributedText.string
8585
key:nil
8686
eventCount:1];
8787
}
8888

8989

9090
- (void)updateTextField:(MaskedTextFieldDelegate *)maskedDelegate textView:(RCTUITextField *)textView {
91-
if(textView.text.length> 0){
92-
NSString *originalString = textView.text;
91+
if(textView.attributedText.string.length> 0){
92+
NSString *originalString = textView.attributedText.string;
9393
NSString *croppedText = [originalString substringToIndex:[originalString length] -1];
94-
95-
[textView setText:croppedText];
94+
95+
[textView setAttributedText:[[NSAttributedString alloc] initWithString:croppedText]];
9696
NSString *last = [originalString substringFromIndex:[originalString length] - 1];
97-
97+
9898
[maskedDelegate textField:(UITextField*)textView
99-
shouldChangeCharactersInRange: (NSRange){[textView.text length], 0}
99+
shouldChangeCharactersInRange: (NSRange){[textView.attributedText.string length], 0}
100100
replacementString:last];
101101
}
102102
}
103103

104104
@end
105+

0 commit comments

Comments
 (0)