iOS google 环聊键盘如何工作?
how iOS google Hangouts keyboard works?
我需要复制 google 环聊键盘。现在我正在使用自定义视图 inputAccessoryView
。使用 inputAccessoryView
让我隐藏键盘 interactively
(在 IB 的 TableViewController 中设置的选项),因此当用户向下滑动键盘时键盘被隐藏。
它们的键盘让您选择是否要发送文本或图库中的图像或拍照...当您点击 "Image Gallery button" 时,键盘会隐藏和显示图库中的图像在 space 键盘上。这是我的问题,我不知道如何隐藏键盘,但一直在完全相同的位置显示 "inputAccessoryView" ...我应该把显示图像的视图放在哪里?因为如果我将所有这些都包含在 "inputAccessoryView" 自定义视图中,那将一直显示,因为它将包含在我的自定义视图的 xib 中...
这是一张键盘行为的 gif:
有什么线索吗?
您可以使用 inputView
属性 文本字段。
The custom input view to display when the text field becomes the first
responder.
@property(readwrite, strong) UIView *inputView
If the value in this property is nil, the text field
displays the standard system keyboard when it becomes first responder.
Assigning a custom view to this property causes that view to be
presented instead.
The default value of this property is nil.
它基本上可以让您使用任何视图作为输入视图。
你可以这样 "hot swap" :
[textField resignFirstResponder];
textField.inputView = yourCustomView
[textField becomeFirstResponder];
inputAccessoryView
将保持不变(假设您的视图框架与键盘的视图框架匹配)。我似乎无法弄清楚隐藏键盘的动画,这可能有点棘手。有点 hackish 的方法是截取键盘的屏幕截图,将其添加为视图并制作动画。
我需要复制 google 环聊键盘。现在我正在使用自定义视图 inputAccessoryView
。使用 inputAccessoryView
让我隐藏键盘 interactively
(在 IB 的 TableViewController 中设置的选项),因此当用户向下滑动键盘时键盘被隐藏。
它们的键盘让您选择是否要发送文本或图库中的图像或拍照...当您点击 "Image Gallery button" 时,键盘会隐藏和显示图库中的图像在 space 键盘上。这是我的问题,我不知道如何隐藏键盘,但一直在完全相同的位置显示 "inputAccessoryView" ...我应该把显示图像的视图放在哪里?因为如果我将所有这些都包含在 "inputAccessoryView" 自定义视图中,那将一直显示,因为它将包含在我的自定义视图的 xib 中...
这是一张键盘行为的 gif:
有什么线索吗?
您可以使用 inputView
属性 文本字段。
The custom input view to display when the text field becomes the first responder.
@property(readwrite, strong) UIView *inputView
If the value in this property is nil, the text field displays the standard system keyboard when it becomes first responder. Assigning a custom view to this property causes that view to be presented instead.
The default value of this property is nil.
它基本上可以让您使用任何视图作为输入视图。
你可以这样 "hot swap" :
[textField resignFirstResponder];
textField.inputView = yourCustomView
[textField becomeFirstResponder];
inputAccessoryView
将保持不变(假设您的视图框架与键盘的视图框架匹配)。我似乎无法弄清楚隐藏键盘的动画,这可能有点棘手。有点 hackish 的方法是截取键盘的屏幕截图,将其添加为视图并制作动画。