ios - 如何使用 Swift 创建和关闭通用代码库的多个按钮

标签 ios swift

就我而言,我正在尝试使用 storyboard 创建多个按钮.在这里,每个按钮都有开和关 backgroundtitle颜色变化。在这个过程中,我在每个按钮 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/

相关文章:

ios - 如何以编程方式为特定 View Controller 禁用/启用 sleep 模式?

android - 在Flutter中设置蓝牙设备名称

ios - Swift:尝试播放音频文件时出现未知错误

json - 使用 Swift 的 Decodable 协议(protocol)解析 CoinMarketCap API

swift - 从 Parse 获取 PFFile 时数组超出索引

iphone - 在 iPhone 上将 UIImage 设置为 2D OpenGL ES 的背景

ios - 获取键盘高度在 IOS 11 beta 上不起作用

java - 当我们有 UrlConnection 时为什么要使用套接字

ios - 如果用户执行除删除操作以外的任何事件,则向后滑动 tableView 行 "Delete Row"选项

Swift double 到字符串