我有一个UITextField
,它基本上采用4位NSInteger
。现在我想研究一下“密码”。我的意思是每个数字之间会有一定的空格。如下图所示。
我知道我可以在 UITextField
的字体和背面放置空格,但我希望每个输入字符之间有一定的距离。 iOS 上可以吗?如果是,那么任何类型的指南建议都将受到高度赞赏。
提前非常感谢。
最佳答案
首先,将标签添加到所有四个文本字段,即 1、2、3 和 4。
并使用下面的代码在文本字段中输入文本。这里的 StrTxt 是所有四个文本字段的组合字符串。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
int currentTag = (int)textField.tag;
if(string.length==0 && range.length==1)
{
textField.text = @"";
UITextField *newTextField = (UITextField *) [textField.superview viewWithTag:(currentTag-1)];
[newTextField becomeFirstResponder];
StrTxt = [StrTxt substringToIndex:currentTag-1];
return NO;
}
else
StrTxt = [StrTxt stringByAppendingString:string];
if((textField.text.length + string.length) >= 1)
{
if(currentTag == 4)
{
//do your stuff here.
if(textField.text.length<1)
return YES;
else
return NO;
}
UITextField *newTextField = (UITextField *) [textField.superview viewWithTag:(currentTag+1)];
if(newTextField.text.length==0)
[newTextField becomeFirstResponder];
if(textField.text.length==0)
{
textField.text = [textField.text stringByAppendingString:string];
return NO;
}
else
{
if(currentTag+1 == 4)
{
if(newTextField.text.length>=1)
return NO;
//do your stuff here.
}
else
if(newTextField.text.length>=1)
return NO;
return YES;
}
}
return YES;
}
关于ios - 是否可以在 UITextField 中设置宽空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30324419/