swift - 当一个按钮被选中时取消选择另一个按钮
问题描述
我有三个按钮链接在一起,称为 tipChanged 。一个按钮被默认选中(10%) 我想写一些代码让一个按钮被选中,另外两个会自动删除。我的代码工作但太罗嗦了,有什么简单的方法吗?以下是我的代码,在此先感谢。
导入 UIKit
类 CalculatorViewController: UIViewController {
@IBOutlet weak var zeroPctButton: UIButton!
@IBOutlet weak var tenPctButton: UIButton!
@IBOutlet weak var twentyPctButton: UIButton!
@IBAction func tipChanged(_ sender: UIButton) {
let pctChoosed = sender.currentTitle
if pctChoosed == "0%"{
zeroPctButton.isSelected = true
tenPctButton.isSelected = false
twentyPctButton.isSelected = false
}else if pctChoosed == "10%"{
zeroPctButton.isSelected = false
tenPctButton.isSelected = true
twentyPctButton.isSelected = false
}else{
zeroPctButton.isSelected = false
tenPctButton.isSelected = false
twentyPctButton.isSelected = true
}
}
}
解决方案
删除 if 语句并将它们全部设置为 false。然后在它们被设置为 false 的地方设置 sender.isSelected = true ,你应该得到想要的结果。
推荐阅读
- html - 将文本对齐设置为 CSS 不工作的中心
- linux - 使用 .Net Core Web API 在 linux VM 上安装 SSL 证书
- google-app-engine - 获得查看次数的 Google Cloud Platform 产品/服务是什么
- python - 优化将值转置为 0 和 1 的性能
- java - Spring Boot BasicErrorController
- spring - Spring @component 类真的不是 CGLIB 扩展的吗?
- fluentd - 除了 fluentd 中的路径外,如何指定文件名?
- c - 平均一组长度不是2的幂的数字的最快方法?
- r - 如何从R中的列中子集文本
- node.js - (节点:15702)如何删除 Node.js 上的 DeprecationWarning?