1

アプリ内の画面の1つに、HTMLWebフォームを含むUIWebViewが表示されます。現在、テキストフィールドにフォーカスがあり、キーボードが表示されると、[移動]ボタンが表示されます。現在、[移動]ボタンのユーザーがいないので、クリックしても何も起こりません。

このボタンを無効または削除するにはどうすればよいですか、またはUIWebViewに表示されているキーボードを変更するにはどうすればよいですか?

4

1 に答える 1

2

あなたが持っている唯一のオプションは、キーボードが表示されたときにコールバックを登録し、キーボードへの UIView 参照を取得し、キーボードの実際の G​​o ボタンの上に無効に見える 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 に答える