我正在寻找一种将按钮添加到键盘附件视图中的方法,即在将输入字段触摸到UIWebView时出现的那个,而不使用一些私有功能或一些可疑的技巧。
你知道我该怎么做吗?
注意:我知道如何捕捉键盘显示/隐藏事件。我要的是如何添加按钮。
我正在寻找一种将按钮添加到键盘附件视图中的方法,即在将输入字段触摸到UIWebView时出现的那个,而不使用一些私有功能或一些可疑的技巧。
你知道我该怎么做吗?
注意:我知道如何捕捉键盘显示/隐藏事件。我要的是如何添加按钮。
您可以使用UIKeyboardWillShowNotification
查看UIWindow 参考来执行此操作以获取有关它的信息:
[[NSNotificationCenter defaultCenter]
addObserver:self selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification object:nil];
当从AUIWebView
中选择文本字段时,就会提出此通知 。
查看显示如何执行此操作的 Apple KeyboardAccessory示例代码。该示例代码使用 UITextXxxxinputAccessoryView
属性,我怀疑您将能够使用该属性。但是通知会给你足够的信息来直接在你的视图中添加你的附件,甚至在顶部的 UIWindow 上,甚至通过键盘动画:
(gdb) po notification
NSConcreteNotification 0xb5a2190 {name = UIKeyboardWillShowNotification; userInfo = {
UIKeyboardAnimationCurveUserInfoKey = 0;
UIKeyboardAnimationDurationUserInfoKey = "0.300000011920929";
UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 260}}";
UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 610}";
UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 350}";
UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 480}, {320, 260}}";
UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 220}, {320, 260}}";
}}
UIKit 允许应用程序用自定义输入视图代替系统键盘。它还使应用程序能够在系统键盘或自定义输入视图上方具有附件视图。此外,它使应用程序能够在用户点击输入视图或输入附件视图的控件时播放按键声音。
参考这里了解更多
看看这个苹果示例,因为它完全符合您的要求。但总的来说,这个想法是替换 inputAccessoryViewUIWebView
以显示您的自定义视图。