テキスト フィールドを使用せずにキーボードを表示したかったので、UIToolbar をサブクラス化し、UIKeyInput プロトコルに準拠させました。単純な NSLog プリントアウトを使用したテストに基づいて、ユーザーからのキー入力を正常に読み取っています。私の問題は、カスタム ツールバーと同じビュー コントローラーによって管理されるテーブル ビューを更新するために、キーボードに入力されたテキストが必要なことです。基本的に私の質問は次のとおりです。更新メソッドがカスタム ツールバー クラスにある場合、テーブル ビューを更新するように指示するにはどうすればよいですか? または、update メソッドがビュー コントローラー クラスにある場合、キーが押されるたびに確実に呼び出されるようにするにはどうすればよいでしょうか?
次のようにキーが押されたときにツールバーに通知を送信させようとしました:
- (void)insertText:(NSString *)text {
[[NSNotificationCenter defaultCenter] postNotificationName:@"keyPressed" object:self];
その後、View Controllerでリッスンします
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateForKeyPressed:) name:@"keyPressed" object:nil];
...
- (void)updateForKeyPressed:(NSNotification *)note {
[self update];
}
これはうまくいきませんでしたが、オンラインの記事からアイデアを得たので驚くことではありませんでした。この時点で、私はほとんどボタンを連打しています。誰かが私を正しい方向に向けることができれば幸いです。いつものように、どんな助けでも大歓迎です。誰かが私のコードをもっと見たい場合は、お知らせください。投稿できます。