複数のビューにわたってカスタムキーボード
-
28-09-2019 - |
質問
KeyboardTypeがNumberPadに設定されているときにカスタム「DONE」ボタンを使用するUITEXTFIELDを備えたUIVIEWCONTROLLERがあります。これに似たコードを使用しました -
http://www.neoos.ch/news/46-development/54-uikeyboardtypenumberpad-and-the-missing-return-key
ただし、私の問題は、カスタムキーボードがアプリケーションの他のUIViewのいたるところに残っていることです。別のビューコントローラーからキーボードを呼び出すと、キーボードのオーバーレイの「完了」ボタンがまだ表示されます。 UikeyBoardの習慣のないバージョンが必要な他のビューがあります。
ありがとう
解決
私はあなたが上で述べたのとまったく同じブログから始めました。アプリケーション全体に複数のキーボードタイプがあったため、まったく同じ問題に遭遇しました。
私の解決策にはこれらの変更が含まれていました。
1- uibutton *donebuttonをコントローラークラスのメンバー変数にする
2-「ViewDidload」メソッドでは、次のスニペットがあります
self.doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(0, 163, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
3-「donebutton」ibactionでは、キーボードビューからボタンが削除されていることを確認するために、次のスニペットがあります。
- (IBAction) doneButton:(id)sender {
[self.view endEditing:YES];
[doneButton removeFromSuperview];
}
ボタンを追加するロジックは、ブログが説明するのと同じです。その方向に従う限り、番号キーボードのボタンが表示され、[完了]ボタンをクリックすると削除された状態を確認する必要があります。
所属していません StackOverflow