Skip to content

Wrong masking when setting text programmatically #20

@juanpdelat

Description

@juanpdelat

Trying to set a phone number programmatically before the user starts typing manually but the results are always wrong. When using textfield.text = ... directly, no mask is applied. When using setTextWithMask: the following happens:

Mask = "(###) ###-####"
Text needed: 1234567890, also tried (123) 456-7890
Result: (234) 789-0
Expected: (123) 456-7890

I found a solution in the mean time by setting the text one character at a time:

phoneText.characters.forEach({
    let text = phoneTextField.text ?? ""
    phoneTextField.setTextWithMask( text + String($0) )
})

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions