UITextField的代理无法获取中文字符
来源:互联网 发布:淘宝关联账号在哪里看 编辑:程序博客网 时间:2024/05/22 18:09
UITextField delegate有几个代理方法可以获取text,但一般常用下面两个:
- (void)textFieldDidEndEditing:(UITextField *)textField
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
第一个方法是在编辑结束,也就是keyboard dimiss后才调用。所以,第一个方法有那么个缺陷,那就是,当用户没有dimiss键盘就返回的话,实际上是还未获取textfield的text
第二个方法是当text改变的时候,它就立刻调用,所以能动态记录用户的输入。但是,它也有个缺陷(不知算不算是bug),那就是当用户输入中午的时候,此方法中的参数string只是字母,而不是中文,也就是:当你输入zhang(张)的时候,它记录的分别是z h a n g.所以,对于中文的话,也就无法动态获取了;而且这个代理函数无法获取键盘输入的中文联想字符。解决的办法就是给textfield加个状态监听器,代码如下:
- (void)viewDidLoad
{
[_textField addTarget:self action:@selector(textFieldEditChanged:) forControlEvents:UIControlEventEditingChanged];
[super viewDidLoad];
}
- (void)textFieldEditChanged:(UITextField *)textField
{
NSLog(@"textField text : %@", [textField text]);
}
这样,无论是字母还是中文,都能动态获取
0 0
- UITextField的代理无法获取中文字符
- UITextField Delegate 无法获取中文字符
- UITextField使用代理获取已输入的内容
- UITextField限制中文输入下的字符长度
- UITextField中文输入法输入时对字符长度的限制
- uitextfield的字符输出
- UITextField基本概念&&限制字符的输入长度(包括中文字符)
- Cufon中文字符无法识别的解决方案
- python获取中文字符的拼音简写
- 解决iOS UITextField输入的内容在代理方面里面不能全部获取到
- iOS 6会出现 UItextfield 无法输入任何字符的 bug
- iOS 6会出现 UItextfield 无法输入任何字符的 bug
- iOS 6会出现 UItextfield 无法输入任何字符的 bug
- iOS:UITextField中文输入法输入时对字符长度的限制
- iOS:UITextField中文输入法输入时对字符长度的限制
- UITextField计算中英文混合的字符长度,中文2字节,英文1字节
- iOS:UITextField中文输入法输入时对字符长度的限制
- iOS:UITextField中文输入法输入时对字符长度的限制
- linux驱动开发流程
- 怎样写css3动画
- Linux查看系统配置常用命令
- DB2 性能监控
- 让tableView滚到顶部的功能
- UITextField的代理无法获取中文字符
- CarrierWave使用时fog错误
- : Attribute "xmlns" was already specified for element "web-app".
- Linux设备驱动之mmap设备操作
- 缓存融合(Cache Fusion)介绍
- iOS 国际化
- PAT-Complete Binary Search Tree (30)
- win10怎样安装IIS
- 宣传册、墙面、X展架等平面设计