转自:http://blog.sina.com.cn/s/blog_6fd90b5b0102vrkp.html
在iOS7以下我们可以通过UITextField的delegate方法来获取,如果直接输出textField.text会慢一拍。
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string
{
NSString*text = [textField.textstringByReplacingCharactersInRange:rangewithString:string];
returnYES;
}
但是今天发现了在iOS7上如果当输入中文的时候,到最后只会识别到的只是拼音的字符串,而不是最后的中文。如“你好”,最后只会是nihao。我们可以通过以下的方法来获取
[textFieldaddTarget:selfaction:@selector(textFieldEditChanged:)forControlEvents:UIControlEventEditingChanged];
添加输入改变的方法
- (void)textFieldEditChanged:(UITextField*)textField
{
NSLog(@"textfield text %@",textField.text);
}
这样我们就可以获取到UITextField当前输入的内容了,我们可以通过判断系统的版本来对输入进行不同的操作,这样就可以避免重复的工作。