UITextInput 协议实现自定义输入框
平实开发过程中比较少接触的一个话题: 如何使用 iOS 底层的 UITextInput 协议与 UIKeyInput 协议实现自定义输入框; 其中由于 UITextInput 本身集成了 UIKeyInput,因此本文中对 UITextInput 的讨论实际上也会包含对 UIKeyInput 相关协议的讨论 (e.g. insertText(:String))
最近因为项目的关系使用了 UnrealEngine 的输入组件,由于组件本身并非原生 UITextField, 而是基于上述协议自己实现并通过引擎渲染的输入框;为了排查输入框使用英文输入时 自动补全失效的问题手写了一个简单的输入框组件尝试对该协议背后的运作方式进行理解.