Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<h2>Best solution is to set <code>inputAccessoryView</code> to <code>UITextField</code> like this :</h2> <pre><code>#pragma mark - UITextFieldDelegate -(void)textFieldDidBeginEditing:(UITextField *)textField{ // Call the createInputAccessoryView method we created earlier. // By doing that we will prepare the inputAccView. UIView *inputAccView = [self createInputAccessoryView]; // Now add the view as an input accessory view to the selected textfield. [textField setInputAccessoryView:inputAccView]; } </code></pre> <hr> <pre><code>-(UIView *)createInputAccessoryView{ // Create the view that will play the part of the input accessory view. // Note that the frame width (third value in the CGRectMake method) // should change accordingly in landscape orientation. But we don’t care // about that now. UIView *inputAccView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 40.0)]; // Set the view’s background color. We’ ll set it here to gray. Use any color you want. [inputAccView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.20f]]; // We can play a little with transparency as well using the Alpha property. Normally // you can leave it unchanged. [inputAccView setAlpha: 0.8]; UIButton *btnDone = [UIButton buttonWithType:UIButtonTypeCustom]; [btnDone setFrame:CGRectMake(240.0, 6.0f, 70.0f, 28.0f)]; [btnDone setTitle:@"Done" forState:UIControlStateNormal]; [btnDone setBackgroundColor:[UIColor blackColor]]; [btnDone.layer setCornerRadius:6.0f]; [btnDone setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; [btnDone addTarget:self action:@selector(btnDoneForKeyboardAction:) forControlEvents:UIControlEventTouchUpInside]; // Now that our buttons are ready we just have to add them to our view. [inputAccView addSubview:btnDone]; return inputAccView; } </code></pre> <hr> <h3>Another solution:</h3> <p>When the view controller appears, we want to be notified of keyboard events so that we can show the toolbar in response to the keyboard appearing and disappearing:</p> <pre><code>- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil]; } </code></pre> <p>In response to the keyboard appearing, we can animate the toolbar up from the bottom of the screen:</p> <pre><code>- (void)keyboardWillShow:(NSNotification *)notification { //set your toolbar frame here for upper side } </code></pre> <p>When the keyboard is dismissed, we do just the opposite:</p> <pre><code>- (void)keyboardWillHide:(NSNotification *)notification { //set your toolbar frame here for down side } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload