我标记的区域正确呈现,并插入了标记文本,但键盘上方的候选列表为空白.
例如,这里是日语(假名)键盘,显示标准UITextVIEw的建议:
这是我的自定义编辑器显示相同的标记文本:
我花了几天时间调试这个问题并发现原因是私有类UIKeyboardImpl为方法delegateSupportsCorrectionUI返回NO
如果我在UIKeyboardImpl上的类别中覆盖此方法并返回YES,则会为我的文本编辑器正确显示多级输入建议.但是,这并没有解决问题的根本原因(并且它不可用).
我还仔细研究了Apple的SimpleTextinput示例代码.这实现了一个基本的Core Text编辑器. SimpleTextinput正确地显示了多阶段输入建议,但是我似乎无法在UITextinput的实现中找到导致它工作和我的中断的单一差异.
(事实上,我无法“破坏”SimpleTextinput示例显示多阶段输入的能力.这让我认为我对UITextinput实现的关注是错误的轨道.而且它完全是另外的东西.)
解决方法 好的,这有点令人尴尬.我刚才注意到:@property(nonatomic,Readonly) UIVIEw *textinputVIEw
discussion
The vIEw that both draws the text and provIDes a coordinate system for
all geometric values in this protocol. (This is typically an instance
of the UITextinput-adopting class.) If this property is unimplemented,
the first vIEw in the responder chain is selected.
在文档中.
我愚蠢地@综合了这个属性并忘了它,这意味着我的UITextinput实现返回了一个nil textinputVIEw.简单地保持未实现只选择响应器链中的第一个视图,如文所述,它为文本系统提供必要的坐标系统来处理自动校正和多级输入建议.
这是经过三天的调试.现在我觉得很蠢.
总结以上是内存溢出为你收集整理的ios – 自定义UITextInput实现不显示多阶段输入建议全部内容,希望文章能够帮你解决ios – 自定义UITextInput实现不显示多阶段输入建议所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)