gpt4 book ai didi

ios - 如果在文本字段 Swift 上启用安全文本输入,应用程序会卡住

转载 作者:行者123 更新时间:2023-11-30 12:58:44 26 4
gpt4 key购买 nike

我遇到了一个奇怪的问题。我的 View 中有几个文本字段,如果为其中一个启用了安全文本输入,我的应用程序在运行时会卡住。

有人遇到过这个问题/知道解决办法吗?我做了一些研究,其中一种可能性可能是内存泄漏。除此之外我似乎找不到任何关于此的信息。非常感谢任何帮助!

作用于我的文本字段的所有代码:

设置用户界面:

self.passwordTextField.delegate = self
passwordTextField.layer.borderWidth = 1
passwordTextField.layer.cornerRadius = 5
passwordTextField.layer.borderColor = UIColor.lightGray.cgColor
passwordTextField.returnKeyType = .done

添加观察者:

usernameTextField.addTarget(self, action: #selector(self.textFieldDidChange), for: .editingChanged)
passwordTextField.addTarget(self, action: #selector(self.textFieldDidChange), for: .editingChanged)

观察者功能:

func textFieldDidChange() {
if usernameTextField.text == "" || passwordTextField.text == "" {
loginButtonInactive()
} else {
loginButtonActive()
}
}

更改登录按钮外观:

func loginButtonActive() {
logInButton.isEnabled = true
logInButton.layer.borderWidth = 0
logInButton.backgroundColor = UIColor.blue.cgColor
logInButton.setTitleColor(UIColor.white, for: .normal)
}

func loginButtonInactive() {
logInButton.isEnabled = false
logInButton.layer.borderColor = UIColor.lightGray.cgColor
logInButton.layer.borderWidth = 1
logInButton.backgroundColor = UIColor.white
logInButton.setTitleColor(UIColor.lightGray, for: .normal)
}

最佳答案

我明白了这一点。它与此功能有关:

func textFieldDidChange() {
if usernameTextField.text == "" || passwordTextField.text == "" {
loginButtonInactive()
} else {
loginButtonActive()
}
}

我把它改成这样:

 func textFieldDidChange() {
if (usernameTextField.text?.characters.count == 0) || (passwordTextField.text?.characters.count == 0) {
loginButtonInactive()
} else {
loginButtonActive()
}
}

我不确定为什么第一个函数会导致问题,因为它在以前的项目中运行良好,但新函数运行良好并解决了问题!

关于ios - 如果在文本字段 Swift 上启用安全文本输入,应用程序会卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40101327/

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