Cómo utilizar el keyboard "Ir" para enviar UITextFields como un button UIB en Swift 2

Ok, así que tengo una function que permite a mi usuario usar el keyboard para ir al siguiente campo (que obtuve el código de SO) Funciona perfecto. Mi problema es que, una vez que mi usuario llegue al campo de text final, en el que he seleccionado "GO" como button de retorno y quiero usar el button de envío ideal. A medida que avanza el flujo a través de la forma, es presentablemente correcto, pero la funcionalidad al final no está allí. Encontré una respuesta aquí, pero parece que llama a las mismas funciones que el código del "campo siguiente". Entonces no funcionan bien juntos. Entonces, este es el aspecto del siguiente código de campo:

override func viewDidLoad() { super.viewDidLoad() // Keyboard Next Field & Delegate enterEmailTextField.delegate = self enterPasswordTextField.delegate = self self.enterEmailTextField.nextField = self.enterPasswordTextField self.enterPasswordTextField.nextField = self.enterNameTextField // ... } 

Y el próximo bloque se muestra a continuación anular (lo que estoy seguro de que sabes) func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() }

 // Next Field func textFieldShouldReturn(textField: UITextField) -> Bool { if let nextField = textField.nextField { nextField.becomeFirstResponder() } return true } 

Ok, eso funciona bien hasta el último campo de text, pero dado que el último campo es "Ir", estoy tratando de imitar lo que haría con decir una @IBAction para un button, pero en lugar de eso, el button ir. Aquí es donde obtuve la idea / código para el Go to work:

Acción del button "Ir" del keyboard ios.

¿Ideas sobre cómo implementarlas? O tal vez solo para trabajar con la siguiente function, e implementar una acción de "keyboard ir" similar a una @IBaction? ¿Tal vez solo una mejor manera de implementar ambos para que coincidan entre sí? ¡Cualquier ayuda es muy apreciada!

¡EDITAR!

Olvidé el file actual NextField.swift, que estoy seguro es importante (lo siento)

 import Foundation import UIKit private var kAssociationKeyNextField: UInt8 = 0 extension UITextField { @IBOutlet var nextField: UITextField? { get { return objc_getAssociatedObject(self, &kAssociationKeyNextField) as? UITextField } set(newField) { objc_setAssociatedObject(self, &kAssociationKeyNextField, newField, UInt(OBJC_ASSOCIATION_RETAIN)) } } } 

esto ayudaría mucho estoy asumiendo

 - (BOOL)textFieldShouldReturn:(UITextField *)textField { if (textField.returnKeyType == UIReturnKeyNext) { // tab forward logic here return YES; } else if (textField.returnKeyType == UIReturnKeyGo) { // submit action here return YES; } return NO; } 

En una manera más limpia para manejar el order de las tabs y la presentación de formularios, lea mi respuesta aquí .

Primero configure Return key Go de su campo de text luego implemente el siguiente Método

 func textFieldShouldReturn(textField: UITextField) -> Bool { if (textField.returnKeyType==UIReturnKeyType.Go) { //implemnt yor Ibaction method here } return true } 

luego mira en la siguiente imgae: introduzca la descripción de la imagen aquí