2016-06-01 3 views
0

Нужно использовать следующий формат чисел с Hyphen при вводе в UITextField.Как добавить Hyphens в UITextField iOS Swift?

enter image description here

+0

На каждом разборе изменения текста и заменить новую строку со строкой с дефисом в 'метод делегата UITextField' в' TextField: shouldChangeCharactersInRange: replacementString: ' –

ответ

0
// Restrict entry to format 123-456-7890 

Вы можете попробовать с подобным кодом.

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    // All digits entered 
    if range.location == 12 { 
     return false 
    } 
    // Reject appending non-digit characters 
    if range.length == 0 && !NSCharacterSet.decimalDigitCharacterSet().characterIsMember(string.characterAtIndex(0)) { 
     return false 
    } 
    // Auto-add hyphen before appending 4rd or 7th digit 
    if range.length == 0 && (range.location == 3 || range.location == 7) { 
     textField.text = "\(textField.text!)-\(string)" 
     return false 
    } 
    // Delete hyphen when deleting its trailing digit 
    if range.length == 1 && (range.location == 4 || range.location == 8) { 
     range.location-- 
     range.length = 2 
     textField.text = textField.text!.stringByReplacingCharactersInRange(range, withString: "") 
     return false 
    } 
    return true 
} 
+0

string.characterAtIndex (0) не работал. –

Смежные вопросы