UITextField 获取输入内容

在iOS7以下我们可以通过UITextField的delegate方法来获取

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

{

NSString *text = [textField.text stringByReplacingCharactersInRange:rangewithString:string];

return YES;

}

但是今天发现了在iOS7上如果当输入中文的时候,到最后只会识别到的只是拼音的字符串,而不是最后的中文。如“你好”,最后只会是nihao。我们可以通过以下的方法来获取

[textField addTarget:self action:@selector(textFieldEditChanged:)forControlEvents:UIControlEventEditingChanged];

添加输入改变的方法

- (void)textFieldEditChanged:(UITextField *)textField

{

NSLog(@"textfield text %@",textField.text);

 

}

这样我们就可以获取到UITextField当前输入的内容了,我们可以通过判断系统的版本来对输入进行不同的操作,这样就可以避免重复的工作。

本文来自Awnlab.com麦芒实验室,转载请注明出处,谢谢合作。