在iOS7以下我們可以通過UITextField的delegate方法來獲取
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *text = [textField.textstringByReplacingCharactersInRange: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當前輸入的內容了,我們可以通過判斷系統的版本來對輸入進行不同的操作,這樣就可以避免重復的工作。
