回答
試試這個代碼。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *separator = @"-";
int seperatorInterval = 5;
NSString *originalString = [textField.text stringByReplacingOccurrencesOfString:separator withString:@""];
if (![originalString isEqualToString:@""] && ![string isEqualToString:@""]) {
NSString *lastChar = [textField.text substringFromIndex:[textField.text length] - 1];
int modulus = [originalString length] % seperatorInterval;
if (![lastChar isEqualToString:separator] && modulus == 0) {
textField.text = [textField.text stringByAppendingString:separator];
}
}
return YES;
}
只需聲明並分配一個2個字符串即可。將數字存儲在一個字符串(str 1)中並對每個條目的字符串長度進行計數。檢查時,該字符串lenght將四位,執行
str2 = [str1 appendByString:@"`"];
現在str1 = str2;
再次重複這個過程中循環使用4位數字的增量。
希望它會有所幫助。
人力資源管理模式,是有幫助,但我不知道這是否會動態地添加的連字符的用戶類型....說的時候用戶在鍵入文本字段時,我想讓連字符在第五個字符後彈出,而不會與用戶鍵入數字序列干涉。 – tinhead 2011-04-27 04:48:15
這將有助於當你最後的字符串來。不要以爲它會在那個時候顯示你的用戶輸入的數字。 – 2011-04-27 04:56:38
假設您使用UITextField進行輸入,則可以使用UITextFieldTextDidChangeNotification
操作在每次修改文本時作出響應。一個快速而粗略的例子:
- (IBAction)textChanged:(UITextField*)sender
{
NSString* curText = sender.text;
//when checking the length, you need to exclude hyphens from the count
//which is currently not being done (thanks @titaniumdecoy)
if([curText length] % 5 == 0)
{
sender.text = [curText stringByAppendingString:@"-"];
}
}
這將不允許您通過最後插入的連字符後退。 – titaniumdecoy 2011-04-27 04:51:59
你也沒有考慮到連字符本身對字符串長度的貢獻。 – titaniumdecoy 2011-04-27 04:53:35
對不起,這裏遲到了,出於某種原因,我認爲這是一個UILabel實現的事情。我會添加一條評論來思考這個問題(因爲額外的代碼將超出答案的範圍)。感謝您指出。 – 2011-04-27 04:55:07
只是一個概念試圖讓每個5個字符的字符串,然後連字符追加到這些串聯,然後每一個。爲此,你需要做substrings.use數組中此邏輯功能
-(NSString *)makeMyString:(NSString *)stringA
{
NSMutableArray *tempArray1=[NSMutableArray array];
//NSString *[email protected]"12345123451234512";
NSString *s=stringA;
BOOL flag=YES;
while(flag)
{
NSString *str;
if([s length]>=5)
str=[s substringWithRange:NSMakeRange(0,5)];
else
str=s;
[tempArray1 addObject:str];
str=nil;
if([s length]>=5)
s=[s substringWithRange:NSMakeRange(5,([s length]-5))];
else
[email protected]"";
if([s isEqualToString:@""])
flag=NO;
}
NSString *[email protected]"";
for(int i=0;i<[tempArray1 count];i++)
{
if([[tempArray1 objectAtIndex:i] length]==5)
makeString =[NSString stringWithFormat:@"%@%@`",makeString,[tempArray1 objectAtIndex:i]];
else {
makeString =[NSString stringWithFormat:@"%@%@",makeString,[tempArray1 objectAtIndex:i]];
}
}
NSLog(@"%@",makeString);
return makeString;
}
該方法不能返回實際的字符串,而不是隻是指向字符串的指針,所以該方法的頭看起來像這樣 - (NSString *)makeMyString:(NSString *)stringA 但是我遇到問題試圖將此方法傳遞給我的文本框。 – tinhead 2011-04-27 20:42:18
我真正想做的是當用戶輸入文本字段時,連字符會在用戶輸入時彈出...我只是不知道該怎麼做。 – tinhead 2011-04-27 21:02:11
現在這個代碼很好,並返回一個字符串與hypen。你可以在textview委託方法中調用這個方法,在按下每個鍵之後傳遞textfeild的文本。委託 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)範圍replacementString:(NSString *)字符串 – Ishu 2011-04-28 04:00:40
- 1. 將字符串添加到字符串
- 2. 如何使用stringWithFormat方法追加字符串變量Objective-C
- 3. 動態連接字符串
- 4. 如何使用動態字符串過濾字符串X?
- 5. 如何將字符串添加到字符串numpy的ndarray
- 6. 如何在NSString中使用%字符stringWithFormat
- 7. Ruby將靜態字符串添加到隨機字符串中?
- 8. 動態添加資源字符串
- 9. 如何將動態查詢字符串添加到鏈接?
- 10. 如何將字符串消息動態添加到Android屏幕
- 11. 如何動態添加元素到字符串數組?
- 12. 將字符添加到字符串
- 13. Java將字符添加到字符串
- 14. 字符添加到字符串
- 15. 在C字符添加到字符串
- 16. Python - 將字符添加到字符串
- 17. 將字符添加到字符串vb.net
- 18. 將字符添加到字符串
- 19. 如何將字符串添加到可變字符串
- 20. 如何添加字符串
- 21. 添加字符串逐字字符串
- 22. 將字符串添加到字符串的數字和數字
- 23. 如何添加新的價值字典[字符串:字符串]]
- 24. 如何使用linq將字符串列表添加到字符串中?
- 25. Java - 如何添加到字符串中的字符
- 26. 如何添加字符到C#中的字符串
- 27. Lua字符串find - 如何用連字符處理字符串?
- 28. 如何將字符串添加到string.xml
- 29. 如何將字符串添加到ClassificationDataSet?
- 30. 如何在字符串中的字符之間添加連字符,創建新字符串作爲結果
只是在實現這一個現在,得到一些錯誤......但只是因爲我是一個菜鳥:P – tinhead 2011-04-27 21:21:02
如何連接到我的regTextField?此外,我不知道我必須在此方法的標題中聲明什麼。 – tinhead 2011-04-27 23:15:15
男人...嘗試了我所知道的一切,不能得到這個工作.. – tinhead 2011-04-28 02:27:34