iOS 15 UIButton 配置 - 如何为配置处理程序编写闭包

iOS 15 UIButton configuration - how to write a closure for configuration handler

按照教程,我正在使用新的 UIButtons 和 iOS 15.

    let btn = UIButton(frame:CGRect(x: 25, y:0 , width: 250, height: 50))
    btn.config.title = "Connect"
    btn.updateConfiguration()
    btn.configurationUpdateHandler = { button in
      var config = btn.configuration
        switch button.state {
        case .highlighted:
            config?.showsActivityIndicator = true
            config?.imagePadding = 5
            self.role = self.nameInput.text?.lowercased()
            UserDefaults.standard.set(self.role, forKey: "role")
            SFSConn.shared.connect()
        default:
            config?.showsActivityIndicator = false
        }
      btn.configuration = config
    }
    btnForm.addSubview(btn)

如何将闭包外推为独立闭包? 我想将多个按钮连接到同一个闭包。 提前致谢。

configurationUpdateHandler 属性 是 UIButton.ConfigurationUpdateHandler? 类型,它只是 (UIButton) -> Void 的类型别名,它是一个接受单个参数 [=14] 的闭包=].所以就创建它吧。

let handler: (UIButton) -> Void = { (button) in
    // do something
}

btn.configurationUpdateHandler = handler