iphone确认一个中文字符完成输入
原文来自: http://topic.csdn.net/u/20101018/16/9de1f081-5136-4692-b6ad-d68ed89f63c0.html
在Keyboard调用时,输入中文,可能用shouldChangeCharactersInRange无法接收到事件。这时应该用textFieldDidChange来接收。具体如下:
_message=[[NSMutableString alloc] initWithCapacity:32];
[_message setString:@""];
-(void) textFieldDidChange:(UITextField*) textField {
[_message setString:@""];
[_message appendString:textField.text];
addName( (char* )[_message UTF8String]);
}
// return NO to not change text
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
[_message appendString:string];
addName( (char* )[_message UTF8String] );
return YES;
}
其中addName为自己的函数接口。这是C++写的接收端口。