use*_*877 9 cocoa-touch uitextfield ios
我正在为我的文本域编写验证,我发现了一些有趣的东西,我是否可以检查我在文本字段中实时输入了多少位数.我的文本字段输入必须是8位数字.因此,当我达到8位时,我想将文本字段内的文本更改为绿色,而当不是时,我想更改颜色.
我怎样才能做到这一点?请帮助我,提前谢谢.
aop*_*fan 25
使用-textField:shouldChangeCharactersInRange:replacementString:可能是一个糟糕的解决方案,因为它会在文本字段更新之前触发.如果要在键盘自动更新文本字段之前更改文本字段的文本,则可能应该使用此方法.在这里,您可能只想在编辑值更改时使用目标 - 操作配对:
[textField addTarget:self action:@selector(checkTextField:) forControlEvents:UIControlEventEditingChanged];
Run Code Online (Sandbox Code Playgroud)
然后,在- (void)checkTextField:(id)sender,试试这个:
UITextField *textField = (UITextField *)sender;
if ([textField.text length] == 8) {
textField.textColor = [UIColor greenColor]; // No cargo-culting please, this color is very ugly...
} else {
textField.textColor = [UIColor blackColor];
/* Must be done in case the user deletes a key after adding 8 digits,
or adds a ninth digit */
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10315 次 |
| 最近记录: |