2016-06-01 7 views

答えて

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)働いていません。 –

関連する問題