animationUITextInput的textInputView
UIKit文本input组件,如UITextView
和UITextField
有一个属性inputView
添加自定义键盘。 我有两个与此有关的问题。
-
如果键盘当前可见并且属性设置为新的input视图,则不会发生任何事情。 辞职和重获第一响应者状态刷新input并显示新视图。 这是做这件事的最好方法吗? 如果是这样,它可能会回答我更大的问题
-
是否可以animation两个input视图之间的转换?
来自UIResponder文档:
需要自定义视图来收集用户input的响应者对象应该将此属性重新声明为readwrite,并使用它来pipe理其自定义input视图。 当接收者随后成为第一响应者时,响应者基础设施自动呈现指定的input视图。 同样,当视图退出第一个响应者状态时,响应者基础结构会自动closures指定的视图。
所以不幸的是,答案是1,是2。
-
其实有一个方法干净地做到这一点:
UIResponder
的reloadInputViews
,从iOS 3.2中可用! -
我认为你可以用一些额外的工作来animation:
- 创build一个比键盘窗口更高的
UIWindowLevel
清晰的背景窗口。 - 将您的自定义键盘添加到该位置并将其框架animation化。
- 然后将其设置为您的文本input的
inputView
并像您一样刷新第一个响应者。
- 创build一个比键盘窗口更高的
您的自定义键盘会将其父视图从您的自定义窗口更改为键盘,但希望用户不会注意;)