我目前正在进行ios
项目。
我的问题isEnabled
功能不起作用。将值设置为True
成功工作,但更改为False
不会更改。
我错过了什么?
我的代码使用Swift5
@IBAction func nextScreen(_ sender: UIButton) {
if self.nickField.text!.count > 12 {
callAlert("long nick")
} else {
let url: URL = URL(string: globalUrl.apiAddress)!
var dict = [String: String]()
dict["nickname"] = self.nickField.text!
sender.isEnabled = true
do {
try globalUrl.post(url: url, dict, encoding: .utf8, completionHandler: { data, response, error in
guard error == nil && data != nil else {
if let err = error {
print(err.localizedDescription)
}
return
}
do {
let json = try JSONSerialization.jsonObject(with: data!, options: [])
Log.Debug(json)
guard let jsonArray = json as? [String: Any] else {
return
}
if jsonArray["result"] == "Sucess" {
Log.Debug("Success")
DispatchQueue.main.async {
globalnickname = self.nickField.text!
sender.isEnabled = false
self.performSegue(withIdentifier: "go", sender: self)
}
} else {
DispatchQueue.main.async {
Toast(text:"error").show()
sender.isEnabled = false
}
}
} catch {
Log.Error(error)
}
})
} catch {
Log.Error(error)
}
}
从我的代码中可以看到,函数在执行时更改为
true
,在完成时更改为False
。但它不会变为False
。没有发现问题。请想出一个解决办法 最佳答案
嗨你的代码很完美没问题,
请将sender.isEnabled
替换为sender.isUserInteractionEnabled = false
我认为两者都使用相同的属性,
我在我的虚拟项目中进行测试,两个项目都在工作,只需尝试一次“谢谢”
关于ios - UIButton的isEnabled功能不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58132240/