我想知道下面的代码的工作。“shouldChangeTextInRange”和“stringByReplacingCharactersInRange”方法是如何工作的?
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
return !([newString length] > 10);
}
“stringByReplacingCharactersInRange”是做什么的?以上方法如何限制可以在textField中输入的字符数?
在此先感谢!
谢谢!但是,在上面的代码中'范围'的值是什么? – Balaram
一个包含起始字符索引和将被替换的字符串部分长度的'NSRange'结构。如果用户正在输入文本,range.location将是最后一个字符的索引+ 1,并且range.length将是1.如果用户正在删除所选文本,则range.location将是第一个选定字符的索引,并且range.length将为选定的字符数。 –
好吧..假设如果textField是空的,并且用户正在输入文本,那么“范围”将有用户输入的字符长度? – Balaram