64

その上に「次へ」、「前へ」、「完了」ボタンがあるキーボードが必要です。

私は多くのアプリでそれを見てきました。

特に、入力するフォームがある場合。

ここに画像の説明を入力

上記のキーボードに似たものを実現したい

どうすればそれを手に入れることができますか?

4

8 に答える 8

60

この他の投稿で答えを見つけることができます。iOS ライブラリを確認しましたが、UITextField のinputAccessoryViewはまさにあなたが探しているものです!

お役に立てれば !

于 2011-04-08T07:31:41.707 に答える
25

BSKeyboardControlsキーボードにコントロールを簡単に追加できるというクラスを作成しました。クラス、手順、サンプルコードは、GitHubにあります

コントロールはテキストフィールドとテキストビューで機能し、iPhoneとiPadの両方に最適化されています。

于 2012-01-16T14:50:10.420 に答える
19
-(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];

}
于 2013-09-27T14:52:23.563 に答える
5

基本的にこれを行うユーティリティクラスがあります。

https://github.com/kalvish21/CustomKeyboard

アイデアはとてもシンプルです。バー ボタン項目を含むアクセサリ ツールバーを追加する必要があります。そのボタンがどこで何をするかを定義するデリゲートがあります。

于 2012-10-10T16:10:42.007 に答える
1

これは、キーボードの真上に配置されるカスタム コントロールです。そのためにUIToolbarを使用できると思います。

textFields の firstResponder の前後のパスと Done は、ツールバーを非表示にするだけでなく、再署名を行います。

キーボード アニメーションと一致させるには、私が見つけたこのコードまたは SO: "What is the iPhone's default keyboard animation rate?" をご覧ください。

于 2011-04-08T07:23:15.003 に答える
0

この機能を実装したリポジトリを作成しました。この機能は、iPhone/iPad ですべての向きで機能し、高度にカスタマイズ可能です。

于 2012-08-28T11:26:13.473 に答える
0

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 UITextFields 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.

enter image description here enter image description here

于 2016-06-28T03:31:11.360 に答える