IM聊天的键盘中文输入点击删除键变成英文bug
2017-05-25 11:56
253 查看
问题:
IM聊天中,中文输入的键盘点击删除键后变成英文bug
因为键盘删除判断删除@好友整体删除,以及删除表情都需要特殊判断
解决方法:
IM聊天中,中文输入的键盘点击删除键后变成英文bug
因为键盘删除判断删除@好友整体删除,以及删除表情都需要特殊判断
解决方法:
#pragma mark -- 修改删除键盘的bug - (BOOL)shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { //输入回车 发送消息 if ([text isEqualToString:@"\n"]) { [self didPressSend:nil]; return NO; } //删除 if ([text isEqualToString:@""] && range.length == 1 ) { //非选择删除 NSRange range = [self delRangeForEmoticon]; if (range.length == 1) { //删的不是表情,可能是@ NIMInputAtItem *item = [self delRangeForAt]; if (item) { range = item.range; [self.toolBar deleteText:range]; return NO; } //判断删除单个字母,中文变成字符串 else{ return YES; } } //删除表情 else{ return NO; [self.toolBar deleteText:range]; } } NSString *str = [self.toolBar.contentText stringByAppendingString:text]; if (str.length > self.maxTextLength) { return NO; } return YES; }
- (void)deleteText:(NSRange)range { NSString *text = self.contentText; if (range.location + range.length <= [text length] && range.location != NSNotFound && range.length != 0) { NSString *newText = [text stringByReplacingCharactersInRange:range withString:@""]; NSRange newSelectRange = NSMakeRange(range.location, 0); [self.inputTextView setText:newText]; self.inputTextView.selectedRange = newSelectRange; } }
相关文章推荐
- 如何在TEdit中将键盘输入的英文单引号'变成中文单引号 ’
- IOS开发 textView输入文字时键盘切换为中文输入法后,第一个输入的字母变成英文
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- //对中文键盘输入英文 (去除中文系统自带的UTF8编码)
- 在简体中文键盘输入时出现ios6.0的bug
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- 为什么添加/删除程序中的中文变成英文的了
- input禁止键盘及中文输入,但可以点击