Input-mask-ios: рдореМрдЬреВрджрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдорд╛рд╕реНрдХ рдХреИрд╕реЗ рд▓рдЧрд╛рдПрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рдЕрдХреНрддреВре░ 2017  ┬╖  2рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: RedMadRobot/input-mask-ios

рдирдорд╕реНрддреЗ,

рдХреНрдпрд╛ ii рдиреЗ рдореБрдЦреМрдЯрд╛ рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкреВрд░реНрд╡-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЯреЗрдХреНрд╕реНрдЯ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдЬрдм рдореИрдВ рдХрд░рддрд╛ рд╣реВрдВ - myTextField.txt = "12345678" рдорд╛рд╕реНрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

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

рд╣рд╛рдп @beltik ,
рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╣рдорд╛рд░реЗ рд░реАрдбрдореЗ рдореЗрдВ, Simple UITextField for the phone numbers рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдПрдХ рдирдореВрдирд╛ рдХреЛрдб рд╣реИ:

class ViewController: UIViewController, MaskedTextFieldDelegateListener {

    var maskedDelegate: MaskedTextFieldDelegate!

    <strong i="11">@IBOutlet</strong> weak var field: UITextField!

    open override func viewDidLoad() {
        maskedDelegate = MaskedTextFieldDelegate(format: "{+7} ([000]) [000] [00] [00]")
        maskedDelegate.listener = self

        field.delegate = maskedDelegate

        maskedDelegate.put(text: "+7 123", into: field)
    }

    open func textField(
        _ textField: UITextField, 
        didFillMandatoryCharacters complete: Bool,
        didExtractValue value: String
    ) {
        print(value)
    }

}

рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХреБрдЫ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЯреЗрдХреНрд╕реНрдЯ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЬрд┐рд╕ рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ

maskedDelegate.put(text: "+7 123", into: field)

- рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдпрд╣ рд╡рд┐рдзрд┐ рдЙрд╕реА Mask рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдереА, рд▓реЗрдХрд┐рди рдкрд╛рда рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдкрд╛рд╕ рдХрд░рддреА рд╣реИред

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

рд╣рд╛рдп @beltik ,
рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╣рдорд╛рд░реЗ рд░реАрдбрдореЗ рдореЗрдВ, Simple UITextField for the phone numbers рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдПрдХ рдирдореВрдирд╛ рдХреЛрдб рд╣реИ:

class ViewController: UIViewController, MaskedTextFieldDelegateListener {

    var maskedDelegate: MaskedTextFieldDelegate!

    <strong i="11">@IBOutlet</strong> weak var field: UITextField!

    open override func viewDidLoad() {
        maskedDelegate = MaskedTextFieldDelegate(format: "{+7} ([000]) [000] [00] [00]")
        maskedDelegate.listener = self

        field.delegate = maskedDelegate

        maskedDelegate.put(text: "+7 123", into: field)
    }

    open func textField(
        _ textField: UITextField, 
        didFillMandatoryCharacters complete: Bool,
        didExtractValue value: String
    ) {
        print(value)
    }

}

рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХреБрдЫ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЯреЗрдХреНрд╕реНрдЯ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЬрд┐рд╕ рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ

maskedDelegate.put(text: "+7 123", into: field)

- рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдпрд╣ рд╡рд┐рдзрд┐ рдЙрд╕реА Mask рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдереА, рд▓реЗрдХрд┐рди рдкрд╛рда рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдкрд╛рд╕ рдХрд░рддреА рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж, рдХрд╛рд░реНрдп рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡реЛ рдХрд░ рдЧрдпрд╛ рдХрд╛рдоред

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

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

DamascenoRafael picture DamascenoRafael  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

KompoD picture KompoD  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

osterlind picture osterlind  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

LinusGeffarth picture LinusGeffarth  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

razalur picture razalur  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ