我需要复制google hangouts键盘。现在我使用自定义视图inputAccessoryView
。使用inputAccessoryView
可以隐藏键盘interactively
(从IB中设置在TableViewController中的选项),因此当用户将键盘向下滑动时,键盘会被隐藏。
如果您想从图库中发送文字或图片或拍照,您可以选择键盘...当您点按“图像库”按钮"时,键盘会隐藏并显示键盘空间中图库中的图像。这是我的问题,我不知道如何隐藏键盘但是继续显示" inputAccessoryView"在完全相同的位置......我还应该在哪里放置显示图像的视图?因为如果我将所有内容都包含在" inputAccessoryView"自定义视图,它会一直显示,因为它将包含在我的自定义视图的xib中...
这是一个关于键盘行为的gif:
有任何线索吗?
答案 0 :(得分:1)
您可以使用文本字段的inputView
属性。
文本字段成为第一个时显示的自定义输入视图 响应者。
@property(readwrite,strong)UIView * inputView
如果此属性中的值为nil,则为文本字段 当它成为第一响应者时显示标准系统键盘。 为此属性分配自定义视图会导致该视图 提出来了。
此属性的默认值为nil。
它基本上允许您将任何视图用作输入视图。
你可以"热插拔"就像这样:
[textField resignFirstResponder];
textField.inputView = yourCustomView
[textField becomeFirstResponder];
inputAccessoryView
将保持不变(假设您的视图框架与键盘的视图框架匹配)。我似乎无法弄清楚隐藏键盘的动画,这可能有些棘手。有点hackish的方法是获取键盘的屏幕截图,将其添加为视图并为其设置动画。