回答
试试这个代码。
- (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. 使用NSString的动态字符串格式stringWithFormat
- 3. 我如何添加到Python字典值使用字符串键
- 4. 如何将点字符添加到字符串中的字符?
- 5. 如何使用stringWithFormat方法追加字符串变量Objective-C
- 6. 将字符串添加到字符串
- 7. 我应该如何将控制字符添加到字符串
- 8. 动态连接字符串
- 9. 动态添加字符串到字符指针使用malloc和realloc
- 10. 如何在NSString中使用%字符stringWithFormat
- 11. 如何使用动态字符串过滤字符串X?
- 12. 如何在url中的字符串之间添加连字符
- 13. 如何添加到字符串的新字符串
- 14. Ruby将静态字符串添加到随机字符串中?
- 15. 使用SAS在字符串中添加连字符?
- 16. 如何从字符串中删除动态字符字符串?
- 17. 动态添加资源字符串
- 18. 在objc中动态添加字符串
- 19. 如何将动态查询字符串添加到链接?
- 20. 如何动态添加元素到字符串数组?
- 21. 如何将字符串消息动态添加到Android屏幕
- 22. 如何在android中动态添加字符串到ListView?
- 23. 将字符添加到字符串
- 24. 将字符添加到字符串
- 25. 字符添加到字符串
- 26. 在C字符添加到字符串
- 27. Python - 将字符添加到字符串
- 28. 将字符添加到字符串
- 29. 将字符添加到JSON字符串
- 30. 将字符添加到字符串vb.net
只是在实现这一个现在,得到一些错误......但只是因为我是一个菜鸟:P – tinhead 2011-04-27 21:21:02
如何连接到我的regTextField?此外,我不知道我必须在此方法的标题中声明什么。 – tinhead 2011-04-27 23:15:15
男人...尝试了我所知道的一切,不能得到这个工作.. – tinhead 2011-04-28 02:27:34