その上に「次へ」、「前へ」、「完了」ボタンがあるキーボードが必要です。
私は多くのアプリでそれを見てきました。
特に、入力するフォームがある場合。
上記のキーボードに似たものを実現したい
どうすればそれを手に入れることができますか?
その上に「次へ」、「前へ」、「完了」ボタンがあるキーボードが必要です。
私は多くのアプリでそれを見てきました。
特に、入力するフォームがある場合。
上記のキーボードに似たものを実現したい
どうすればそれを手に入れることができますか?
この他の投稿で答えを見つけることができます。iOS ライブラリを確認しましたが、UITextField のinputAccessoryViewはまさにあなたが探しているものです!
お役に立てれば !
BSKeyboardControls
キーボードにコントロールを簡単に追加できるというクラスを作成しました。クラス、手順、サンプルコードは、GitHubにあります。
コントロールはテキストフィールドとテキストビューで機能し、iPhoneとiPadの両方に最適化されています。
-(BOOL)textFieldShouldBeginEditing: (UITextField *)textField
{
UIToolbar * keyboardToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
keyboardToolBar.barStyle = UIBarStyleDefault;
[keyboardToolBar setItems: [NSArray arrayWithObjects:
[[UIBarButtonItem alloc]initWithTitle:@"Previous" style:UIBarButtonItemStyleBordered target:self action:@selector(previousTextField)],
[[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStyleBordered target:self action:@selector(nextTextField)],
[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(resignKeyboard)],
nil]];
textField.inputAccessoryView = keyboardToolBar;
}
- (void)nextTextField {
if (textField1) {
[textField1 resignFirstResponder];
[textField2 becomeFirstResponder];
}
}
-(void)previousTextField
{
if (textField2) {
[textField2 resignFirstResponder];
[textField1 becomeFirstResponder];
}
}
-(void)resignKeyboard {
[textField1 resignFirstResponder];
[textField2 resignFirstResponder];
}
基本的にこれを行うユーティリティクラスがあります。
https://github.com/kalvish21/CustomKeyboard
アイデアはとてもシンプルです。バー ボタン項目を含むアクセサリ ツールバーを追加する必要があります。そのボタンがどこで何をするかを定義するデリゲートがあります。
これは、キーボードの真上に配置されるカスタム コントロールです。そのためにUIToolbarを使用できると思います。
textFields の firstResponder の前後のパスと Done は、ツールバーを非表示にするだけでなく、再署名を行います。
キーボード アニメーションと一致させるには、私が見つけたこのコードまたは SO: "What is the iPhone's default keyboard animation rate?" をご覧ください。
この機能を実装したリポジトリを作成しました。この機能は、iPhone/iPad ですべての向きで機能し、高度にカスタマイズ可能です。
As mentioned in other answers, it's the inputAccessoryView
that you're looking for.
I would like to add an alternative way here, by using this cocoapods:
pod 'UITextField-Navigation'
All UITextField
s will have two additional properties: nextTextField
and previousTextField
. You can then simply connect the nextTextField
in the Interface Builder and the Previous, Next and Done buttons are added automatically for you, all functional, no more code is needed, no subclassing.
You can also customize the UI, add more buttons, etc as you want to.