gpt4 book ai didi

ios - 在 Swift 中禁用按钮直到字段已满

转载 作者:行者123 更新时间:2023-11-28 09:59:06 25 4
gpt4 key购买 nike

我想创建一个登录页面,用户在填写字段之前无法点击登录按钮。我已经看到如何在 objective-c 中做到这一点,但我希望快速做到这一点,但我不太确定该怎么做!到目前为止我有这个,它在我的 loginViewController.swift 文件中。

if username.isEmpty || password.isEmpty {
loginButton.userInteractionEnabled = false
} else {
loginButton.userInteractionEnabled = true
}

它会检查空字段,但当字段已填写时按钮不会实时激活。我该怎么做?

这是我文件中用于 loginTapped 的函数中的代码。

@IBAction func loginTapped(sender: AnyObject) {

let username = usernameField.text
let password = passwordField.text

/** [[Check for empty fields]] */

if username.isEmpty || password.isEmpty {
var errorFieldBorderColor = UIColor(red: 255/255, green: 0/255, blue: 0/255, alpha: 1.0)
usernameField.layer.borderWidth = 1.0
usernameField.layer.cornerRadius = 5.0
usernameField.layer.borderColor = errorFieldBorderColor.CGColor
usernameField.textColor = UIColor(red: 255/255, green: 0/255, blue: 0/255, alpha: 1.0)


} else {
loginButton.userInteractionEnabled = true
}

PFUser.logInWithUsernameInBackground(username, password:password) {
(user: PFUser?, error: NSError?) -> Void in
if user != nil {
// Do stuff after successful login.
} else {
// The login failed. Check error to see why.
}
}
}

最佳答案

文本框 socket :

@IBOutlet weak var loginUsernameTextField: UITextField!

@IBOutlet weak var loginPasswordTextField: UITextField!

@IBOutlet weak var loginButtonOutlet: UIButton!

在viewDidload中:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "textChanged:", name: UITextFieldTextDidChangeNotification, object: nil)
loginButtonOutlet.enabled = false

然后添加函数和代码

func textChanged(sender: NSNotification) {
if loginUsernameTextField.hasText() && loginPasswordTextField.hasText() {
loginButtonOutlet.enabled = true
}
else {
loginButtonOutlet.enabled = false
}
}

我认为这应该可以完成工作

关于ios - 在 Swift 中禁用按钮直到字段已满,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32122324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com