先说下光标消失的原因: 我们假设光标闪烁显示与不显示是两个状态,分别是通过(光标显示事件)和(光标隐藏事件)控制的。 中文输入过程中是没有光标的,此时直接按 ctrl shift 切换输入法,系统没有识别到退出拼写过程而触发(光标显示事件),并且之后也没有触发这个事件,所以就一直不显示光标了。 我们可以认为这是一个 bug,美国人做的,人家就只用英文字母,没有考虑到这种其它文字输入过程中切换输入法的场景。
既然知道原因了,我们就想办法触发光标显示事件就好了。 解决方法: 切换回中文输入法,然后把拼音打出后再按空格转换成中文此时就出来了,这个触发了(光标显示事件),此时再切换输入法就不会有问题了。