UIKit文本输入组件(例如UITextView
和UITextField
)具有属性inputView
以添加自定义键盘。我有两个与此有关的问题。
如果键盘当前可见且属性设置为新的输入视图,则不会发生任何事情。重新启动并重新获得第一响应者状态会刷新输入并显示新视图。这是最好的方法吗?如果是这样,它可能会回答我更大的问题:
是否可以为两个输入视图之间的转换设置动画?
答案 0 :(得分:1)
来自UIResponder文档:
需要自定义视图来收集用户输入的响应器对象应将此属性重新声明为readwrite,并使用它来管理其自定义输入视图。当接收器随后成为第一响应者时,响应者基础结构自动呈现指定的输入视图。同样,当视图重新启动其第一个响应者状态时,响应者基础结构会自动关闭指定的视图。
所以不幸的是,1的答案是肯定而2则是否。
答案 1 :(得分:0)
实际上有一种干净利落的方法:UIResponder
的{{1}},可从iOS 3.2获得!
我认为你可以通过一些额外的工作来制作动画:
reloadInputViews
的清晰背景窗口。UIWindowLevel
,并像您一样刷新第一个响应者。您的自定义键盘会将其父视图从自定义窗口更改为键盘,但希望用户不会注意到;)