本帖最后由 amwrdfedr 于 2010-10-19 09:23:53 编辑

解决方案 »

  1.   

    不明白楼主什么意思接受事件再delegate里面做就好了。。
    textchange需要注册notificenter
      

  2.   

    谢谢了,最近外出。刚回来。这个我已经解决了。
    在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++写的接收端口。