我試圖在UITextField
中使用字符後輸入-
。情況是增加一個信用卡/借記卡號碼。我已經搜索過,但根據我的知識,這些方法無效。我將限制設置爲19
字符是16個卡號,並在delegate
方法3 -
爲:
如何在UITextField之間放置一個字符
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger length = [[textField text] length] - range.length + string.length;
return textField.text.length <=19;
}
所以現在length
是給我,如果UITextField
的確切長度在那個時候。哪些工作正常現在我需要知道我應該寫什麼,如果此字段達到3
,7
或11
在該字段中添加-
。所有將要輸入的卡都採用這種格式xxxx-xxxx-xxxx-xxxx
,所以這是我正在嘗試添加4個字符後添加-
。
我也在裏面delegate
方法試過,但沒有奏效:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setGroupingSeparator:@"-"];
[formatter setGroupingSize:4];
[formatter setUsesGroupingSeparator:YES];
NSString *num = textField.text ;
num= [num stringByReplacingOccurrencesOfString:@"" withString:@"-"];
NSString *str = [formatter stringFromNumber:[NSNumber numberWithDouble:[num doubleValue]]];
textField.text=str;
NSLog(@"%@",str);
return textField.text.length <=19;
你檢查這個.. http://stackoverflow.com/questions/12083605/ formatting-a-uitextfield-for-credit-card-input-like-xxxx-xxxx-xxxx-xxxx –