我的代码是
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSLog(@"%@",petTypeTextFeild.text);
return YES;
}
当我输入“a”时,没有任何内容被打印出来 当我输入字母's''打印出来时 我想要全文。
有没有像textFinishChange这样的其他方法? 谢谢。
答案 0 :(得分:3)
使用以下内容:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSLog(@"%@",newString);
return YES;
}
答案 1 :(得分:1)
在那种方法中,你无法获得全文.. 如果您返回Yes,则只允许该特定字母,如果返回No,则不允许更改文本。 并使用此方法获取完整的文本。
- (void)textFieldDidEndEditing:(UITextField *)textField
答案 2 :(得分:1)
这是一个在textField实际更改其值之前调用的委托
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
多数民众赞成为什么你要获得旧价值,所以你应该使用这一行来获得确切的价值
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *str = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSLog(@"%@",str);
return YES;
}