iPhone - 向键盘现有附件视图添加按钮(来自UIWebView的键盘)

时间:2011-04-28 20:06:23

标签: iphone button uiwebview keyboard accessoryview

我正在寻找一种方法来在键盘的附件视图中添加一个按钮,这个按钮在将输入字段触摸到 UIWebView 时出现,而不使用某些私有函数或一些可疑的技巧。

enter image description here

你知道我怎么做吗?

注意:我知道如何抓住键盘显示/隐藏事件。我要求的是如何添加按钮。

3 个答案:

答案 0 :(得分:1)

您可以使用UIKeyboardWillShowNotification查看UIWindow reference了解相关信息:

[[NSNotificationCenter defaultCenter]
 addObserver:self selector:@selector(keyboardWillShow:)
 name:UIKeyboardWillShowNotification object:nil];

当选择 UIWebView 的文本字段时,会引发此通知。

查看Apple KeyboardAccessory示例代码,其中显示了如何执行此操作。该示例代码使用UITextXxxx inputAccessoryView属性,我怀疑您将能够使用该属性。但是通知会为您提供足够的信息,可以直接在您的视图中或甚至在顶部的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}}";
}}

答案 1 :(得分:0)

UIKit允许应用程序替换系统键盘的自定义输入视图。它还使应用程序能够在系统键盘或自定义输入视图上方具有附件视图。此外,当用户点击输入视图的控件或输入附件视图时,它使应用程序能够播放按键声音。

请参阅here了解更多

答案 2 :(得分:0)

请查看this apple example,因为它正是您要搜索的内容。但总的来说,想法是替换UIWebView的inputAccessoryView以显示自定义视图。