How to get keyboard with Next, Previous and Done Button?

前端 未结 8 1010
我寻月下人不归
我寻月下人不归 2020-12-02 08:55

I want to have a keyboard which has a Next,Previous and Done button on top of it.

I have seen that in many apps.

Especially where there are forms to be fille

相关标签:
8条回答
  • 2020-12-02 09:29

    This is a custom control which is placed directly above the keyboard. I think a UIToolbar can be used for that.

    Previous and next passes around the firstResponder of the textFields and Done will do the resign as well as hide the toolbar.

    To match the keyboard animation have a look at this code I found or at SO: "What is the iPhone's default keyboard animation rate?"

    0 讨论(0)
  • 2020-12-02 09:32

    I just created a class called BSKeyboardControls which makes it very easy to add the controls to a keyboard. The class, instructions and example code can be found here at GitHub.

    The controls works for text fields and text views and are optimized for both iPhone and iPad.

    0 讨论(0)
  • 2020-12-02 09:45

    You'll find the answer on this other post. I checked the iOS Library and the inputAccessoryView of a UITextField is exactly what you're looking for !

    Hope this helps !

    0 讨论(0)
  • 2020-12-02 09:48

    https://github.com/hackiftekhar/IQKeyboardManager

    This is the best keyboard handler I have seen so far. Very excellent way to manage Text inputs.

    Some of its features 1) ZERO LINE OF CODE

    2) Works Automatically

    3) No More UIScrollView

    4) No More Subclasses

    5) No More Manual Work

    6) No More #imports

    0 讨论(0)
  • 2020-12-02 09:49
    -(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];
    
    }
    
    0 讨论(0)
  • 2020-12-02 09:53

    I have a utility class that basically does this for you.

    https://github.com/kalvish21/CustomKeyboard

    The idea is very simple. You have to add an accessory tool bar with bar button items on it. There's a delegate which defines where what that button will do.

    0 讨论(0)
提交回复
热议问题