ios - UIButton 的 isEnabled 功能不起作用
问题描述
我目前正在做这个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
我认为两者都使用相同的属性,
我正在我的虚拟项目中进行测试,两者都工作相同,只需尝试一次@thankyou
推荐阅读
- php - Woocommerce:如何在购物车中只允许一种产品类型?
- lua - 两张表作为一张表的区别
- r - 如何根据给定的索引对向量中的元素进行重新排序
- tcl - 如何从具有行和列的文本文件创建关联数组结构
- html - 当我们使用 flex 调整窗口大小时,自动调整具有适当间隙和宽度的 div
- sql - 我正在尝试直接从 sql server 从 excel 文件中获取记录,但它不起作用
- php - 尝试为具有动态按钮名称的电子商务网站制作结帐页面
- ubuntu - FFMPEG - 合并视频后音频丢失
- python - 如何在python中绘制元组列表?
- scala - 如何在 spark scala 中使用缓存表进行进一步查询