arrays - 在数组中切换 UIbuttons 以选择/取消选择
问题描述
我有一组 5 个不同的按钮插座。按下任何按钮时,应首先选择该按钮,然后应取消选择数组中的所有其他按钮。
这是我到目前为止的进展:
func toggleButton(select:UIButton) {
select.isSelected = true
let buttons = [button1, button2, button3, button4, button5]
for button in buttons as! [UIButton] {
if button.isSelected == true{
button.isSelected = true
} else {
button.isSelected = false
}
}
}
我首先选择按钮(带有select.isSelected = true
),然后遍历按钮数组以确定它是否被选中。如果它没有被选中(意味着它没有被按下),那么它应该将 isSelected 更改为 false。
问题是每个被按下的按钮都会变为选中状态,然后在按下其他按钮后保持选中状态。
如何设置切换,以便选择点击的按钮 FIRST,然后取消选择所有其他按钮(除了选定的按钮)?注意:由于动画正在运行,因此按该顺序很重要。
解决方案
select
如果按钮与使用!==运算符的实例相同,则可以跳过该按钮,并且有多种方法
1) 在 for-in 循环内
func toggleButton (select: UIButton) {
select.isSelected = true
let buttons: [UIButton] = [button1, button2, button3, button4, button5]
for button in buttons {
if button.isSelected && button !== select {
button.isSelected = false
}
}
}
2)过滤数组中的所需按钮
func toggleButton (select: UIButton) {
select.isSelected = true
let buttons: [UIButton] = [button1, button2, button3, button4, button5]
buttons.filter({ $0.isSelected && $0 !== select }).forEach { $0.isSelected = false }
}
推荐阅读
- amazon-sagemaker - Sagemaker 处理不上传
- intellij-idea - testng 的 Intellij 问题
- python-3.x - 我找到了以下代码但是当我尝试运行代码时它显示一个 SyntaxError 我不知道为什么
- sql - 在报表生成器中检查 0 值是否等于在 SQL 中检查 NULL 值?
- python - Pandas 读取 HTML - 从已发布的 GSheets 嵌套的多个表(Corona Patient DB)
- google-cloud-platform - 打开 GCP AI Jupyter 笔记本实例时出现 504 错误
- java - 如何在Spring中从序列中生成实体字段的部分值?
- java - 无法将 java.util.Collections$EmptySet 转换为 java.util.HashSet
- sap - 如何在 Hybris 中创建复合唯一键
- pine-script - 仅在特定日期编辑系列