Input-mask-ios: 12.2 рдбреЗрд╡рд▓рдкрд░ рдмреАрдЯрд╛ 2 рдХреНрд░реИрд╢ - initWithCoder рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдлрд╝рд░ре░ 2019  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: RedMadRobot/input-mask-ios

рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ

  • [X ] рдЗрд╕ рд▓рд╛рдЗрди рдкрд░ рдХреЛрд╖реНрдардХреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ X рд▓рдЧрд╛рдПрдВ рдпрджрд┐ рдЖрдкрдиреЗ рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рд╕рднреА рдХрд╛рд░реНрдп рдХрд┐рдП рд╣реИрдВ:

    • рд╣рдорд╛рд░реЗ рд╡рд┐рдХреА рдкрдврд╝реЗрдВ;

    • рд╕рдВрдкреВрд░реНрдг рдЬреНрдЮрд╛рдд рдореБрджреНрджреЗ рдЕрдиреБрднрд╛рдЧ рдкрдврд╝реЗрдВ;

    • рдЬрд╛рдБрдЪ рдХреА рдХрд┐ рдореЗрд░рд╛ рдореБрджреНрджрд╛ рдкрд╣рд▓реЗ рд╕реЗ рднрд░рд╛ рдирд╣реАрдВ рд╣реИ;

    • рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП StackOverflow рдХреЗ input-mask рдЯреИрдЧ рдХреА рдЦреЛрдЬ рдХреАред

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЗрдирдкреБрдЯ рдорд╛рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреЗрдХреНрд╕реНрдЯрдлрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдРрдк рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЕрдЬреАрдм рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕ рд╕рдЯреАрдХ рдкреГрд╖реНрда рдиреЗ рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдореИрдВрдиреЗ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдореЗрдВ рдЙрд╕ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдпрд╛ рдпреВрдЖрдИ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ - рдореИрдВрдиреЗ рдЬреЛ рдПрдХрдорд╛рддреНрд░ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдерд╛ рд╡рд╣ рдореЗрд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдерд╛: рдореИрдВрдиреЗ рдПрдХреНрд╕рдХреЛрдб 10 рдмреАрдЯрд╛ 2 рдХреЗ рд╕рд╛рде рдРрдк рдмрдирд╛рдпрд╛ рдерд╛ рдЖрдИрдУрдПрд╕ 12.2 рдбреЗрд╡рд▓рдкрд░ рдмреАрдЯрд╛ 2 рдХреЗ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЗрд░реЗ рдЖрдИрдлреЛрди рдкрд░ рдРрдк рдЪрд▓рд╛рдиреЗ/рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред рдореИрдВрдиреЗ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рд╕реЗ рд╕рднреА рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрдм рджреЗрдЦрд╛ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдХреЗрд╡рд▓ рдЙрд╕ рдХреНрд╖рдг рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдЬрдм рдореИрдВ рдЗрдирдкреБрдЯрдорд╛рд╕реНрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВред

рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:

рдПрдХ рдЗрдирдкреБрдЯрдорд╛рд╕реНрдХ рдЯреЗрдХреНрд╕реНрдЯрдлреАрд▓реНрдб рд╕реЗрдЯрдЕрдк рд╡рд╛рд▓рд╛ рдПрдХ рдкреЗрдЬ рд╣реИ - рдЖрдИрдУрдПрд╕ 12.2 рдбреЗрд╡рд▓рдкрд░ рдмреАрдЯрд╛ 2 рдХреЗ рд▓рд┐рдП рдРрдк рдмрдирд╛рдПрдВ (рдПрдХреНрд╕рдХреЛрдб 10 рдмреАрдЯрд╛ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░
рдЗрдирдкреБрдЯ рдорд╛рд╕реНрдХ рдХрд╛рд░реНрдп

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░
рдРрдк рдХреНрд░реИрд╢: рдЙрддреНрдкрдиреНрди рддреНрд░реБрдЯрд┐:
Terminating app due to uncaught exception 'NSGenericException', reason: 'This coder requires that replaced objects be returned from initWithCoder:'

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореВрд▓ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢реЗрд╖ рддреНрд░реБрдЯрд┐ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

*** First throw call stack: ( 0 CoreFoundation 0x0000000108ca072b __exceptionPreprocess + 331 1 libobjc.A.dylib 0x000000010768eac5 objc_exception_throw + 48 2 CoreFoundation 0x0000000108ca0585 +[NSException raise:format:] + 197 3 UIFoundation 0x000000010f47e89c UINibDecoderDecodeObjectForValue + 827 4 UIFoundation 0x000000010f47eaf9 UINibDecoderDecodeObjectForValue + 1432 5 UIFoundation 0x000000010f47e554 -[UINibDecoder decodeObjectForKey:] + 251 6 UIKitCore 0x0000000111825e90 -[UIViewController initWithCoder:] + 1021 7 DumaPay Consumer iOS 0x00000001055bde66 $s20DumaPay_Consumer_iOS25TestAddCardViewControllerC5coderACSgSo7NSCoderC_tcfc + 2214 8 DumaPay Consumer iOS 0x00000001055bdf2f $s20DumaPay_Consumer_iOS25TestAddCardViewControllerC5coderACSgSo7NSCoderC_tcfcTo + 47 9 UIKitCore 0x0000000111aaae89 -[UIClassSwapper initWithCoder:] + 246 10 UIFoundation 0x000000010f47e852 UINibDecoderDecodeObjectForValue + 753 11 UIFoundation 0x000000010f47e554 -[UINibDecoder decodeObjectForKey:] + 251 12 UIKitCore 0x0000000111aaf4d1 -[UIRuntimeConnection initWithCoder:] + 178 13 UIFoundation 0x000000010f47e852 UINibDecoderDecodeObjectForValue + 753 14 UIFoundation 0x000000010f47eaf9 UINibDecoderDecodeObjectForValue + 1432 15 UIFoundation 0x000000010f47e554 -[UINibDecoder decodeObjectForKey:] + 251 16 UIKitCore 0x0000000111aacd81 -[UINib instantiateWithOwner:options:] + 1216 17 UIKitCore 0x0000000111fc5290 -[UIStoryboard instantiateViewControllerWithIdentifier:] + 181 18 DumaPay Consumer iOS 0x0000000105623ea9 $s20DumaPay_Consumer_iOS28AddCardScannerViewControllerC010goToManualfE004cardG6ResultySo0b15CardsRecognizerN0CSg_tF + 249 19 DumaPay Consumer iOS 0x0000000105623d2e $s20DumaPay_Consumer_iOS28AddCardScannerViewControllerC02oneF15ManuallyClicked6senderyyp_tF + 62 20 DumaPay Consumer iOS 0x0000000105623d8c $s20DumaPay_Consumer_iOS28AddCardScannerViewControllerC02oneF15ManuallyClicked6senderyyp_tFTo + 76 21 UIKitCore 0x0000000111e2e834 -[UIApplication sendAction:to:from:forEvent:] + 83 22 UIKitCore 0x00000001118845b5 -[UIControl sendAction:to:forEvent:] + 67 23 UIKitCore 0x00000001118848d2 -[UIControl _sendActionsForEvents:withEvent:] + 450 24 UIKitCore 0x0000000111883888 -[UIControl touchesEnded:withEvent:] + 583 25 UIKitCore 0x0000000111e6751e -[UIWindow _sendTouchesForEvent:] + 2547 26 UIKitCore 0x0000000111e68c02 -[UIWindow sendEvent:] + 4079 27 UIKitCore 0x0000000111e47346 -[UIApplication sendEvent:] + 356 28 UIKitCore 0x0000000111f178c3 __dispatchPreprocessedEventFromEventQueue + 3232 29 UIKitCore 0x0000000111f1a1e9 __handleEventQueueInternal + 5911 30 CoreFoundation 0x0000000108c07c11 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 31 CoreFoundation 0x0000000108c07493 __CFRunLoopDoSources0 + 243 32 CoreFoundation 0x0000000108c01b4f __CFRunLoopRun + 1231 33 CoreFoundation 0x0000000108c01332 CFRunLoopRunSpecific + 626 34 GraphicsServices 0x000000010f1222fe GSEventRunModal + 65 35 UIKitCore 0x0000000111e2d1d2 UIApplicationMain + 140 36 DumaPay Consumer iOS 0x0000000105609bdb main + 75 37 libdyld.dylib 0x000000010a883861 start + 1 38 ??? 0x0000000000000001 0x0 + 1 )

рдордВрдЪ рдХреА рдЬрд╛рдирдХрд╛рд░реА

  • рдУрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг: рдЖрдИрдУрдПрд╕ 12.2 рдмреАрдЯрд╛ 2
  • рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдВрд╕реНрдХрд░рдг: 4.1.0
  • рднрд╛рд╖рд╛: рд╕реНрд╡рд┐рдлреНрдЯ 4.2

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЕрднреА рднреА рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИ?

рд╕рднреА 11 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрд░реЗ @SteynMarnus ,
рдЕрдЪреНрдЫрд╛ рдкрдХрдбрд╝рд╛! рд╕рднреА рдбрд┐рдмрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ Sample рдХреЛ рдирд╡реАрдирддрдо Xcode-beta рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рдЖрдкрдХреЗ рдЬреИрд╕реЗ рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ рд╣реИрдВред
рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рд▓реВрдВрдЧрд╛, рдФрд░ рдореИрдВ рдЬрд╛рдВрдЪ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред

рдЕрд░реЗ @SteynMarnus ,
рдЕрдЪреНрдЫрд╛ рдкрдХрдбрд╝рд╛! рд╕рднреА рдбрд┐рдмрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ Sample рдХреЛ рдирд╡реАрдирддрдо Xcode-beta рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рдЖрдкрдХреЗ рдЬреИрд╕реЗ рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ рд╣реИрдВред
рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рд▓реВрдВрдЧрд╛, рдФрд░ рдореИрдВ рдЬрд╛рдВрдЪ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред

рдХреЛрдИ рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАрдВ! рдмреАрдЯрд╛ 'рдЬрдВрдЧрд▓реА-рдкрд╢реНрдЪрд┐рдо' рдХрд╛ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдареАрдХ рд╣реИ, рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реИред
рдпрд╣рд╛рдБ , рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛ рд╕рдВрдЦреНрдпрд╛ реи:

рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдП рдЧрдП рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рдЕрдм рдХреЗрд╡рд▓ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рд╡реЗ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрд╕рдХрд╛ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рдХреЛ рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ + рдЖрд╡рдВрдЯрди рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрд╡рдВрдЯрди рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рдХреЛ рдмреБрд▓рд╛рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореВрд▓ рд░реВрдк рд╕реЗ, рдПрдХ alloc/init рдЕрдиреБрдХреНрд░рдо рдирд┐рд░реНрднрд░рддрд╛ рд╕рдорд╕реНрдпрд╛ред _рдлрд┐рд░ рд╕реЗтАж_

рдареАрдХ рд╣реИ, рдЬрдмрдХрд┐ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛

public override convenience init() {
    // Interface Builder support
    self.init(primaryFormat: "")
}

рд╕рд╛рде

public override init() {
    // Interface Builder support
    self.primaryMaskFormat = ""
    self.autocomplete = true
    self.autocompleteOnFocus = true
    self.rightToLeft = false
    self.affineFormats = []
    self.affinityCalculationStrategy = .wholeString
    self.customNotations = []
    self.onMaskedTextChangedCallback = nil
    super.init()
}

рдЖрдЗрдП рдЗрд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрд╡рд┐рдлреНрдЯ 5 рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рддрдХ рдЦреБрд▓рд╛ рд░рдЦреЗрдВред

рдУрд╣ рдУрдХреЗ рдХреВрд▓ @taflanidi , рдЗрд╕реЗ рдЬрд╛рдиреЗ рджреЗрдВрдЧреЗ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕реЗ рдкреЙрдб рдореЗрдВ рд╣реА MaskedTextViewDelegate.swift рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛?

@SteynMarnus рдЬреЛ рднреА рдЖрдкрдХреЛ рд╕реВрдЯ рдХрд░реЗред рдЖрдкрдХреА рдЯреАрдо рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдк рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдХрд╛рдВрдЯрд╛ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рджрдо рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреЙрдб рдореЗрдВ рд╣реА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ; рддреБрдо рдореБрдЭрд╕реЗ рдмреЗрд╣рддрд░ рдЬрд╛рдирддреЗ рд╣реЛред

рдореИрдВ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ . рдпрд╣ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЛрдб рдбреБрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рдЧрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕реНрд╡рд┐рдлреНрдЯ 5 рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдкрдХрдбрд╝ рд▓реЗрдВрдЧреЗред

рдпреВрдкреАрдбреА. рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ MaskedTextFieldDelegate рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рди рдХрд┐ MaskedTextViewDelegate ; рдлрд┐рд░ рднреА, рдЙрди рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИред

рдЕрд░реЗ
рдЖрдЬ Xcode 10.2 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмрдЧ рдЕрднреА рднреА рд╣реИред

@taflanidi рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@sashaBizquit рдореБрдЭреЗ рдмрд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓рд╛
swift required public init?(coder aDecoder: NSCoder) { // Interface Builder support self.primaryMaskFormat = "" self.autocomplete = true self.autocompleteOnFocus = true self.rightToLeft = false self.affineFormats = [] self.affinityCalculationStrategy = .wholeString self.customNotations = [] self.onMaskedTextChangedCallback = nil super.init() } public override init() { // Interface Builder support self.primaryMaskFormat = "" self.autocomplete = true self.autocompleteOnFocus = true self.rightToLeft = false self.affineFormats = [] self.affinityCalculationStrategy = .wholeString self.customNotations = [] self.onMaskedTextChangedCallback = nil super.init() }
рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдЗрд╕ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдмрд╛рдж рдмрд┐рд▓реНрдб рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ

рдЕрд░реЗ @sashaBizquit , рдЕрд░реЗ @Rik626!
рдЖрдкрдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдкреИрдЪ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдмрдиреЗ рд░рд╣реЗрдВред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдЕрднреА рднреА рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИ?

рдареАрдХ рд╣реИ, рддреЛ рдПрдХ рдФрд░ рд╕реНрд╡рд┐рдлреНрдЯ 5-рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧ рдерд╛, рдореБрдЭреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХрд░рдиреА рдкрдбрд╝реА рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрд╛ред

рдорд┐рд▓реЛ рд╡реАред 4.1.1 ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕