Input-mask-ios: рдЦрд╛рд▓реА рдЬрдЧрд╣ рдХреА рд╕рдорд╕реНрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдордИ 2018  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: RedMadRobot/input-mask-ios

рдореБрдЭреЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рджреЛ рдореБрджреНрджреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред

  1. рдореЗрд░реЗ рдкрд╛рд╕ рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП рдпрд╣ рдореБрдЦреМрдЯрд╛ рд╣реИ: "[0000] [0000] [0000] [0000] [999]" рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИ, рддрдм рднреА рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЦрд╛рд▓реА рд╕реНрдерд╛рди рдХреЛ [999] рд╕реЗ рдкрд╣рд▓реЗ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

  2. рдореЗрд░реЗ рдкрд╛рд╕ рдирд╛рдо рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рдореБрдЦреМрдЯрд╛ рд╣реИ: [AтАж] рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдЗрдирдкреБрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рддреАрдХ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдХреЛрдИ рд╕рдлрд▓рддрд╛ рдирд╣реАрдВ рдорд┐рд▓реАред рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрдХреНрд╖рд░ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреА рдЕрдиреБрдорддрд┐ рдХреИрд╕реЗ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ?

рдЗрд╕ рдЕрджреНрднреБрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

feature request question

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

рдЕрд░реЗ @caioremedio!
рдЖрдкрдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ , рдЖрдкрдХреЗ "[0000] [0000] [0000] [0000] [999]" рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдорд╛рд╕реНрдХ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдЖрдкрдХрд╛ рдЙрддреНрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдкреЗрд╕ рдХреИрд░реЗрдХреНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:

"[0000] [0000] [0000] [0000][s][999]"

Notation(character: "s", characterSet: CharacterSet(charactersIn: " "), isOptional: true)

-рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЖрдЬрдорд╛рдПрдВ рдФрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рдмрддрд╛рдПрдВред

рджреВрд╕рд░рд╛ , рдореИрдВрдиреЗ рд╣рдорд╛рд░реЗ Compiler рдореЗрдВ рдПрдХ рддрд░реНрдХ рджреЛрд╖ рджреЗрдЦрд╛ред рдЕрднреА, рд╣рдорд╛рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд┐рдЫрд▓реЗ рд╡рд░реНрдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ [тАж] рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ (рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВ)ред

рдореБрдЭреЗ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдареАрдХ рд╣реИ?

рд╣рд╛рдп @taflanidi , рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдкрд╣рд▓рд╛: рдореИрдВрдиреЗ [s] рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╡рд░реНрдг рдбрд╛рд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╕реНрд╡рддрдГ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрд╣рд╛рдБ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ?

рдореИрдВ MaskedTextFieldDelegate рдЙрдкрд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВрдиреЗ customNotations рд▓рд┐рдП рдХреБрдЫ рдХрд╕реНрдЯрдо рдЗрдирд┐рдЯ рдмрдирд╛рдП рд╣реИрдВ:

class NotifyingMaskedTextFieldDelegate: MaskedTextFieldDelegate {

    weak var editingListener: NotifyingMaskedTextFieldDelegateListener?

    override init(format: String) {
        super.init(format: format)
    }

    convenience init(format: String, customNotations: [Notation]) {
        self.init(format: format)
        self.customNotations = customNotations
    }

    convenience init(format: String, customNotation: Notation) {
        self.init(format: format, customNotations: [customNotation])
    }
}

рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛:

NotifyingMaskedTextFieldDelegate(
    format: "[0000] [0000] [0000] [0000][s][999]",
    customNotation: Notation(character: "s",
                             characterSet: CharacterSet(charactersIn: " "),
                             isOptional: true))

рджреВрд╕рд░рд╛: рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рдХ (рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рд╕рд╛рде) рдореЗрдВ рдХреЗрд╡рд▓ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рд╕рд╣рд╛рдпрддрд╛ рдХрд╛ рд╢реБрдХреНрд░рд┐рдпрд╛ред

рдЕрд░реЗ @caioremedio ,

рдореИрдВрдиреЗ [рдПрд╕] рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╡рд░реНрдг рдбрд╛рд▓рдиреЗ рд╡рд╛рд▓рд╛ рдСрдЯреЛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрд╣рд╛рдБ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ?

рдУрд╣, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ред рдореИрдВрдиреЗ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рд░реАрдбрдореА рд╕реЗрдХреНрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ рднреА рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред

рдореИрдВ MaskedTextFieldDelegate рдХреЗ рдЙрдкрд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╕реНрдЯрдо рдЗрдирд┐рдЯ рдмрдирд╛рдП рд╣реИрдВ

рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред MaskedTextFieldDelegate рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЪрд░ customNotations , рдФрд░ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдкрдиреА рдиреЛрдЯреЗрд╢рди рдХреА рд╕реВрдЪреА рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред

рд╕рд╛рде рд╣реА, рдЕрдм рдореИрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓ рдЬрд╛рдПрдЧреАред рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдорд╕реНрдпрд╛: 1234123412341234 999 тАФ рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдиред

рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ рдПрдХ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореМрдЬреВрдж рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореВрд▓реНрдп рдкреВрд░реНрдг рд╣реИред Mask рдЙрджрд╛рд╣рд░рдг рдФрд░ рд░реИрдкрд░ MaskedTextFieldDelegate рдкрд╛рда рдХреЗ рд▓рд┐рдП рдФрд░ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдорд╛рди рдХреЗ рд▓рд┐рдП рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдореАрдЯреНрд░рд┐рдХ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ acceptableTextLength , totalTextLength , рдЖрджрд┐ред

MaskedTextFieldDelegate.acceptableValueLength() рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ 16 рд▓реМрдЯрд╛рдПрдЧрд╛, рддрд╛рдХрд┐ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдорд╛рди рдХреА рд▓рдВрдмрд╛рдИ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХреЗрдВред


  1. > рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рдХ рдореЗрдВ рдХреЗрд╡рд▓ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рд╕рд╛рде)?

рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Compiler рдХреЛ рджреАрд░реНрдШрд╡реГрддреНрдд рдХреЗ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдЪрд░рд┐рддреНрд░ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

[AтАж]
 ^ this one defines, what symbols are accepted

рдЕрднреА рдХреЗ рд▓рд┐рдП, Compiler A a 0 9 - _ рдХреЗ рдореВрд▓ рд╕реЗрдЯ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдЬрдм рдЕрдгреНрдбрд╛рдХрд╛рд░ рдорд╛рд╕реНрдХ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдУрд╣, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ред рдореИрдВрдиреЗ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рд░реАрдбрдореА рд╕реЗрдХреНрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ рднреА рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред

рдУрд╣ рдорд╛рдп рдмреИрдб, рдЙрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред

рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред MaskedTextFieldDelegate рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЪрд░ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рд╣реИрдВ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдкрдиреА рдиреЛрдЯреЗрд╢рди рдХреА рд╕реВрдЪреА рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред

рдирд╣реАрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрд╡рд░реНрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ рдЕрдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ( UITextField рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛)ред рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реА рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╡рд╣ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЬреЛ рдореИрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред

MaskedTextFieldDelegate.acceptableValueLength() рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ 16 рд▓реМрдЯрд╛рдПрдЧрд╛, рддрд╛рдХрд┐ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдорд╛рди рдХреА рд▓рдВрдмрд╛рдИ рдХреА рддреБрд▓рдирд╛ рдХрд░ рд╕рдХреЗрдВред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ completed == true , рдЕрдм рдореБрдЭреЗ value.count > MaskedTextFieldDelegate.acceptableValueLength() рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдЬрдм рдЕрдгреНрдбрд╛рдХрд╛рд░ рдорд╛рд╕реНрдХ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдЧреЛрдЪрд╛ред рдЗрд╕ рдмреАрдЪ рдЙрд╕рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ UITextFieldDelegate рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдВред

рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдЪрд░рд┐рддреНрд░ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:

рдУрд╣, рдореЗрд░рд╛ рдорддрд▓рдм рдерд╛, рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди (рдпрджрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рдо рд▓реЗрддрд╛ рд╣реИ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдмрд╕ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╡рд░реНрдг рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

@caioremedio ,

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛ред рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдкреВрд░реНрдг == рд╕рддреНрдп рд╣реИ, рдЕрдм рдореБрдЭреЗ value.count > MaskedTextFieldDelegate.acceptableValueLength() рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╣рд╛рдВред

рдУрд╣, рдореЗрд░рд╛ рдорддрд▓рдм рдерд╛, рдЗрд▓рд┐рдкреНрд╕рд┐рд╕ рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди (рдпрджрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рдо рд▓реЗрддрд╛ рд╣реИ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдмрд╕ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╡рд░реНрдг рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣рд╛рдВ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдУрд░ рд╕реЗ рдХрдо рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЧреЛрдЪрд╛ред рдЗрд╕ рдмреАрдЪ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ UITextFieldDelegate рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ Compiler рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдмрдиреЗ рд░рд╣реЗрдВред

@caioremedio ,

рдареАрдХ рд╣реИ, рдЕрдм рдЕрдгреНрдбрд╛рдХрд╛рд░ рдорд╛рд╕реНрдХ рдХрд╕реНрдЯрдо рдиреЛрдЯреЗрд╢рди рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред

рдирд╡реАрдирддрдо 3.4.1 ред

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

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

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

MrJox picture MrJox  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

beltik picture beltik  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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