アプリ内の画面の1つに、HTMLWebフォームを含むUIWebViewが表示されます。現在、テキストフィールドにフォーカスがあり、キーボードが表示されると、[移動]ボタンが表示されます。現在、[移動]ボタンのユーザーがいないので、クリックしても何も起こりません。
このボタンを無効または削除するにはどうすればよいですか、またはUIWebViewに表示されているキーボードを変更するにはどうすればよいですか?
アプリ内の画面の1つに、HTMLWebフォームを含むUIWebViewが表示されます。現在、テキストフィールドにフォーカスがあり、キーボードが表示されると、[移動]ボタンが表示されます。現在、[移動]ボタンのユーザーがいないので、クリックしても何も起こりません。
このボタンを無効または削除するにはどうすればよいですか、または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
}
}
このリンクから恥知らずにコピーされたコード..それを見てください..非常に有益なスレッド..
他の方法があるかどうかはわかりません..それが役立つことを願っています..