teclado samsung poner numeros numerico numerica los letras las fila con como cambiar arriba activar ios objective-c keyboard uikeyboard

ios - samsung - teclado con numeros arriba iphone



¿Cómo agregar el botón hecho en el teclado en la parte superior del teclado en IOS? (8)

Quiero agregar el botón Done en la parte superior del teclado en el lado derecho de iOS para una vista de texto. Por favor, dime, ¿cómo puedo hacer eso?

Quiero lograr algo similar al teclado anterior.


Espero que esto ayude :)

UIToolbar* keyboardToolbar = [[UIToolbar alloc] init]; [keyboardToolbar sizeToFit]; UIBarButtonItem *flexBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem *doneBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(yourTextViewDoneButtonPressed)]; keyboardToolbar.items = @[flexBarButton, doneBarButton]; self.yourTextView.inputAccessoryView = keyboardToolbar;

y luego agregue el método YourTextViewDoneButtonPressed

-(void)yourTextViewDoneButtonPressed { [self.yourTextView resignFirstResponder]; }


Esta solución para Swift3 / 4

Agregue esta línea a su proyecto como una extensión Su problema está resuelto.

extension UITextField{ @IBInspectable var doneAccessory: Bool{ get{ return self.doneAccessory } set (hasDone) { if hasDone{ addDoneButtonOnKeyboard() } } } func addDoneButtonOnKeyboard() { let doneToolbar: UIToolbar = UIToolbar(frame: CGRect.init(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 50)) doneToolbar.barStyle = .default let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(self.doneButtonAction)) let items = [flexSpace, done] doneToolbar.items = items doneToolbar.sizeToFit() self.inputAccessoryView = doneToolbar } @objc func doneButtonAction() { self.resignFirstResponder() } }

Antes de la extensión

Después de la extensión


Esta solución para Swift 4

override func viewDidLoad() { super.viewDidLoad() //init toolbar let toolbar:UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 30)) //create left side empty space so that done button set on right side let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) let doneBtn: UIBarButtonItem = UIBarButtonItem(title: “Done”, style: .done, target: self, action: Selector(“doneButtonAction”)) toolbar.setItems([flexSpace, doneBtn], animated: false) toolbar.sizeToFit() //setting toolbar as inputAccessoryView self.textField1.inputAccessoryView = toolbar self.textField2.inputAccessoryView = toolbar } func doneButtonAction() { self.view.endEditing(true) }


La respuesta de Ramis que permite crear la vista de accesorios de teclado con el Storyboard es una gran estrategia. ¡Es 2017 después de todo! (Lo siento, pero no tengo suficientes puntos para votar).

Permítame agregar un poco a la respuesta (para mantener dentro de las reglas de SO). Tengo una vista con varios campos de texto. Después de implementar cada uno de los pasos de Ramis, adjunté la vista de accesorios a todos los campos de texto de esta manera:

-(void)textFieldDidBeginEditing:(UITextField *)textField { _activeTextField = textField; [_activeTextField setInputAccessoryView:_iboKeyboardTools]; }

¡Tan fácil en comparación con implementar todo esto en código! Simplemente construya la vista de accesorios en el Guión gráfico y adjúntela una y otra vez.


Se puede hacer usando el guión gráfico:

  1. Agregue UITextField a la vista UIViewController.
  2. Agregue UIToolbar en el primer nivel de UIViewController
  3. Agregue UIBarButtonItem en la barra de herramientas de la UIT.
  4. Conecte UItoolbar al código utilizando IBOutlet.
  5. Conecte UIBarButtonItem al código usando IBAction (como lo hizo DidClick).
  6. Haga que el UITextField se delegue a UIViewController.
  7. En la función didClick finalice la edición ( view.endEditing (true) )
  8. En la función delegada, textFieldShouldBeginEditing debe ser: textField.inputAccessoryView = toolbar y devuelve true .


Solución para Swift 4 usando una clase personalizada. Puede utilizar esta clase en su Storyboard y archivos .xib.

class UITextFieldWithDoneButton: UITextField { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) self.addDoneButtonOnKeyboard() } fileprivate func addDoneButtonOnKeyboard() { let doneToolbar: UIToolbar = UIToolbar(frame: CGRect.init(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 50)) doneToolbar.barStyle = .default let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(self.doneButtonAction)) let items = [flexSpace, done] doneToolbar.items = items doneToolbar.sizeToFit() self.inputAccessoryView = doneToolbar } @objc fileprivate func doneButtonAction() { self.resignFirstResponder() } }


Agregue UIToolBar como vista personalizada que tendrá el botón UIBarButtonItem como Hecho en él.

Esta es una forma más segura y limpia de agregar el botón Hecho a cualquier tipo de teclado. Cree UIToolBar agregue el botón Hecho y configure inputAccessoryView de cualquier UITextField o UITextView. ]; }

SWIFT 3

var ViewForDoneButtonOnKeyboard = UIToolbar() ViewForDoneButtonOnKeyboard.sizeToFit() var btnDoneOnKeyboard = UIBarButtonItem(title: "Done", style: .bordered, target: self, action: #selector(self.doneBtnFromKeyboardClicked)) ViewForDoneButtonOnKeyboard.items = [btnDoneOnKeyboard] myTextField.inputAccessoryView = ViewForDoneButtonOnKeyboard

Función

@IBAction func doneBtnfromKeyboardClicked (sender: Any) { print("Done Button Clicked.") //Hide Keyboard by endEditing or Anything you want. self.view.endEditing(true) }


Swift 3:

func setDoneOnKeyboard() { let keyboardToolbar = UIToolbar() keyboardToolbar.sizeToFit() let flexBarButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) let doneBarButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(InsertStatusVC.dismissKeyboard)) keyboardToolbar.items = [flexBarButton, doneBarButton] self.fullNameTextField.inputAccessoryView = keyboardToolbar } @objc func dismissKeyboard() { view.endEditing(true) }