就我而言,我正在尝试使用 storyboard
创建多个按钮.在这里,每个按钮都有开和关 background
和 title
颜色变化。在这个过程中,我在每个按钮 Action 中重复执行相同的逻辑。现在,我必须在一次性逻辑中为所有 button
创建一个通用函数,而不是这样。 Action 必须单独调用并像打开和关闭一样工作。
如何在通用 function
中实现以下逻辑并从多个按钮操作中调用它。
代码库
@IBAction func firstbuttonClick(_ sender: Any) {
if button_isActive {
self.tasktypeButton.backgroundColor = #colorLiteral(red: 0.1843137255, green: 0.6823529412, blue: 0.9764705882, alpha: 1)
self.tasktypeButton.setTitleColor(UIColor.white, for: .normal)
} else {
self.tasktypeButton.backgroundColor = #colorLiteral(red: 0.80803, green: 0.803803, blue: 0.805803, alpha: 1)
self.tasktypeButton.setTitleColor(UIColor.darkGray, for: .normal)
}
button_isActive = !button_isActive
}
最佳答案
您可以连接所有 UIButton
像下面的代码一样操作。
@IBAction func btnTapped(_ sender: UIButton) {
sender.isSelected = !sender.isSelected
if sender.isSelected {
sender.setTitleColor(UIColor.white, for: .normal)
sender.backgroundColor = UIColor.red
}
else {
sender.setTitleColor(UIColor.black, for: .normal)
sender.backgroundColor = UIColor.white
}
//For identifing which button is tapped
if sender.tag == 1 {
// Do your task
}
else if sender.tag == 2 {
// Do your task
}
}
如果你想检测哪个按钮被点击,你可以设置 tag 为
UIButton
来自 UIStoryBoard
.
关于ios - 如何使用 Swift 创建和关闭通用代码库的多个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58535487/