有一个简单的问题。我得到了一个文本字段,该字段被更新并填充字符,当他们有长度时我想执行操作。例如,当长度为12(12个字符),我希望它做的东西,当长度为24等文本长度等于检查
我可以这样做:
if (textfield.text.length == 12){
//do something
}
希望有人能帮助我:)
感谢
有一个简单的问题。我得到了一个文本字段,该字段被更新并填充字符,当他们有长度时我想执行操作。例如,当长度为12(12个字符),我希望它做的东西,当长度为24等文本长度等于检查
我可以这样做:
if (textfield.text.length == 12){
//do something
}
希望有人能帮助我:)
感谢
你应该使用委托
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
和使用,如果你自己创建它里面像
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textfield.text.length == 12){
//do something
}
}
考虑到它被应用到文本字段,就像当前字符被添加到文本字段之前一样(假设'replacementString'是一个字符)。 –
建立一个UITextFieldDelegate
并实现textField:shouldChangeCharactersInRange:replacementString:
方法。计算一旦replacementString
被应用后文本字段将包含的内容,并且如果它符合您要查找的内容,请执行您所需的操作。
请注意,这也被称为删除和粘贴事件。
+1在更换发生之前不检查文本的长度。对于未来的读者:替换后计算文本长度的“公式”如下所示:'NSInteger textLength = [textField.text length] + [string length] --range.length;' –
写下这段代码:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textfield.text.length == 12)
{
condition......
}
else if (textfield.text.length == 24)
{
condition......
}
else
{
condition......
}
}
你为什么不试试看? – thelaws
@thelaws这是一个完全没有意义的评论。试试什么?很明显,无论你是否尝试过,在某个地方的一个“if”都无能为力。 –
如果你只是想在你的代码中的某个点检查这个,那么是的。您可以像显示一样检查它。请注意,它通常写成'if([textfield.text length] == 12){'虽然长度是一种方法。 (任何一个都可以工作。)如果你希望**发生**的**字符**变成** 12个字符,则在下面的答案中使用该技巧。 – lnafziger