ios - 如何在Swift4上实现UITextField的 "Next"和 "Done"功能?

标签 ios xcode uitextfield

我有一个登录名册,包含 3 个字段和一个登录按钮。我想在键盘上设置一个按钮,当用户结束写入内容时,将 UITextField 跳转到下一个。除此之外,当用户在最后一个字段上输入文本时,登录按钮隐藏在键盘后面!我尝试在属性检查器上选择选项,但我不知道如何使用它。

enter image description here

class ViewControllerAuthentication: UIViewController {

@IBOutlet weak var btEntrar: UIButton!
@IBOutlet weak var textPassword: UITextField!
@IBOutlet weak var textEmail: UITextField!
@IBOutlet weak var textURL: UITextField!

let alert = Alerta()

var url : String?
var email : String?
var password : String?

override func viewDidLoad() {
    self.btEntrar.addTarget(self, action: #selector(clickEntrar), for: .touchUpInside)

}

 @objc func clickEntrar(_ sender : UIButton) {
         // Do anything
     }

}

最佳答案

您可以使用 UITextFieldDelegate 来做到这一点,例如...

class ViewControllerAuthentication: UIViewController, UITextFieldDelegate {


  @IBOutlet weak var textPassword: UITextField!
  @IBOutlet weak var textEmail: UITextField!
  @IBOutlet weak var textURL: UITextField!

    override func viewDidLoad() {

      textPassword.delegate = self
      textEmail.delegate = self
      textURL.delegate = self

      textURL.returnKeyType = .next
      textEmail.returnKeyType = .next
      textPassword.returnKeyType = .default // or .done

    }

    public func textFieldShouldReturn(_ textField: UITextField) -> Bool {

        switch textField {

        case textURL:
            textEmail.becomeFirstResponder()

        case textEmail:
            textPassword.becomeFirstResponder()

        case textPassword:
            textField.resignFirstResponder()

        default:
            textField.resignFirstResponder()
        }

        return true
    }

}

我建议 IQKeyboardManager ,如果您不想手动处理每个字段。

关于ios - 如何在Swift4上实现UITextField的 "Next"和 "Done"功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49927024/

相关文章:

ios - Oculus 唇形同步 iOS 支持

objective-c - 如何使用 UIScrollView 和 UIPageControl 重新创建 iOS 应用程序切换器

iphone - 获取UITableView的高度

ios - XCODE/IOS - 如何使用独占扩展立即呈现 whatsapp (.wai, .waa, .wam)

swift - 如何在 Swift 中正确设置 TextField 的背景颜色和文本颜色

ios - 访问 LazyTableImages 中的 imageDownloadsInProgress

ios - 组合两个或多个 SCNGeometries

javascript - 阻止 UIWebView 缓存 JavaScript 文件?

xcode - 设置文本字段的最大数值

ios - swift 3 : Show characters remaining in UITextField