1

我的应用程序中的一个屏幕显示了一个带有 HTML Web 表单的 UIWebView。当前,当文本字段被聚焦并且键盘出现时,会显示一个 Go 按钮。目前我没有 Go 按钮的用户,单击它什么也不做。

如何禁用或删除此按钮,或者如何更改 UIWebView 中显示的键盘?

4

1 回答 1

2

我认为您唯一的选择是在键盘显示时注册回调并获取对键盘的 UIView 引用,并在键盘中的实际 Go 按钮上添加一个看起来禁用的 Go 按钮。

1)首先注册keyboardWillshow通知..

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

2)在您的keyboardWillShow函数中遍历应用程序窗口的所有子视图以获取对键盘的引用。

UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];

UIView* keyboard;

//Iterate though each view inside of the selected Window
for(int i = 0; i < [tempWindow.subviews count]; i++){
keyboard = [tempWindow.subviews objectAtIndex:i];
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES){
//Keyboard is now a UIView reference to the UIKeyboard we want. From here we can add a subview
//to th keyboard like a new button
}
}

从这个链接无耻地复制代码..看看它..一个非常有用的线程..

我不知道是否还有其他方法..希望它会有用..

于 2011-04-21T12:55:43.573 回答