YYKit
                                
                                 YYKit copied to clipboard
                                
                                    YYKit copied to clipboard
                            
                            
                            
                        YYTextView拼音全键盘状态下,切换到123(数字和标点符号)按下任意标点符号,键盘不会自动切换回拼音
RT,UITextView会自动切换的
这种键盘切换是无法在程序内直接控制的。。
那为何会与系统的有所区别?有解决办法么大神
@ibireme
我无法确定 UITextView 在内部是否有其他的私有逻辑、或者有其他的输入通知顺序,所以这里做不到和 UItextView 完全一致。。没什么太好的办法啊。。
@li8911255 尝试着解决了一下,还没有仔细测试是否会引起其它bug。 https://github.com/ibireme/YYKit/compare/master...sunbohong:patch-1
@sunbohong 我试了一下,问题好像依然存在,不过还是万分感谢帮忙了。
@li8911255 我只在 iOS 9.3.2 系统下对搜狗输入法(九宫格)和系统输入法(简体拼音-全键盘)两种情况进行了测试,并成功解决。 能否告知,哪家输入法和系统版本测试失败?
@sunbohong 我也是在iOS 9.3.2 系统输入法(简体拼音—全键盘) iPhone 6 Plus,模拟器和真机我都试了一下。
经过测试,系统键盘会检查符号的含义来判断是否切换。
比如,¥和(。点击¥后不会切换键盘,因为用户可能继续点击其它字符。而点击(后会进行切换键盘,因为用户可能需要输入其它类型的文本信息。
https://github.com/sunbohong/YYKit/commit/19feaf460c0d3fc6a484fbfca850e7f1b8080c8e
@sunbohong 请问这个问题怎么解决,我如何看你的修改的代码,谢谢
https://github.com/sunbohong/YYKit/blob/19feaf460c0d3fc6a484fbfca850e7f1b8080c8e/YYKit/Text/YYTextView.m
@ysq1763  简单来说,我注释了YYTextView.m   - (void)_replaceRange:(YYTextRange *)range withText:(NSString *)text notifyToDelegate:(BOOL)notify 方法最后几行中的两行代码。
//    if (notify) [_inputDelegate textWillChange:self];
NSRange newRange = NSMakeRange(range.asRange.location, text.length);
[_innerText replaceCharactersInRange:range.asRange withString:text];
[_innerText removeDiscontinuousAttributesInRange:newRange];
//    if (notify) [_inputDelegate textDidChange:self];
@ibireme 该问题今天依然存在,而且 iOS 10.2 用 @sunbohong 的方法也解决不了(真机 / 模拟器都测试过,自带全拼音键盘)
@ibireme 该问题今天还是存在。。。。目前有什么解决方法吗
RT,UITextView会自动切换的
@li8911255 老铁 你最后怎么解决的