我的应用程序中的一个屏幕显示了一个带有 HTML Web 表单的 UIWebView。当前,当文本字段被聚焦并且键盘出现时,会显示一个 Go 按钮。目前我没有 Go 按钮的用户,单击它什么也不做。
如何禁用或删除此按钮,或者如何更改 UIWebView 中显示的键盘?
我的应用程序中的一个屏幕显示了一个带有 HTML Web 表单的 UIWebView。当前,当文本字段被聚焦并且键盘出现时,会显示一个 Go 按钮。目前我没有 Go 按钮的用户,单击它什么也不做。
如何禁用或删除此按钮,或者如何更改 UIWebView 中显示的键盘?
我认为您唯一的选择是在键盘显示时注册回调并获取对键盘的 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
}
}
从这个链接无耻地复制代码..看看它..一个非常有用的线程..
我不知道是否还有其他方法..希望它会有用..