UITextField输入时,怎样实时获得输入值
展开全部
在iOS7以下我们可以通过UITextField的delegate方法来获取,如果直接输出textField.text会慢一拍。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *text = [textField.text stringByReplacingCharactersInRange:range withString:string];
return YES;
}
但是今天发现了在iOS7上如果当输入中文的时候,到最后只会识别到的只是拼音的字符串,而不是最后的中文。如“你好”,最后只会是nihao。我们可以通过以下的方法来获取
[textField addTarget:self action:@selector(textFieldEditChanged:) forControlEvents:UIControlEventEditingChanged];
添加输入改变的方法
- (void)textFieldEditChanged:(UITextField *)textField
{
NSLog(@"textfield text %@",textField.text);
}
这样我们就可以获取到UITextField当前输入的内容了,我们可以通过判断系统的版本来对输入进行不同的操作,这样就可以避免重复的工作。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *text = [textField.text stringByReplacingCharactersInRange:range withString:string];
return YES;
}
但是今天发现了在iOS7上如果当输入中文的时候,到最后只会识别到的只是拼音的字符串,而不是最后的中文。如“你好”,最后只会是nihao。我们可以通过以下的方法来获取
[textField addTarget:self action:@selector(textFieldEditChanged:) forControlEvents:UIControlEventEditingChanged];
添加输入改变的方法
- (void)textFieldEditChanged:(UITextField *)textField
{
NSLog(@"textfield text %@",textField.text);
}
这样我们就可以获取到UITextField当前输入的内容了,我们可以通过判断系统的版本来对输入进行不同的操作,这样就可以避免重复的工作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询