4

いくつかのプライベート関数や疑わしいトリックを使用せずに、キーボードのアクセサリビューにボタンを追加する方法を探しています。これは、 UIWebViewの入力フィールドにタッチしたときに表示されるボタンです。

ここに画像の説明を入力してください

私がこれを行う方法を知っていますか?

注:キーボードの表示/非表示イベントをキャッチする方法を知っています。私が求めているのは、ボタンを追加する方法です。

4

3 に答える 3

1

これについては、 UIWindowリファレンスUIKeyboardWillShowNotificationを調べて情報を確認してください。

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

この通知は、 からでもUIWebViewテキストフィールドが選択されている場合に発生します。

これを行う方法を示すAppleKeyboardAccessoryサンプルコードを見てください。そのサンプルコードはUITextXxxxinputAccessoryViewプロパティを使用していますが、使用できるとは思えません。ただし、通知により、アクセサリをビューに直接追加したり、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}}";
}}
于 2011-04-28T20:25:42.200 に答える
0

UIKit を使用すると、アプリケーションはシステム キーボードの代わりにカスタム入力ビューを使用できます。また、アプリケーションがシステム キーボードまたはカスタム入力ビューの上にアクセサリ ビューを持つこともできます。さらに、ユーザーが入力ビューまたは入力アクセサリ ビューのコントロールをタップしたときに、アプリケーションがキークリック音を再生できるようにします。

詳しくはこちら

于 2012-08-07T05:35:45.447 に答える