ios - Swift:通过查看其他 UISwitch 的状态来检查 UISwitch 的模式

标签 ios iphone swift

我在同一 View 上有多个 UISwitch。在我的表单上,我需要使用 UISwitch 像单选按钮(网络)。不能同时打开超过一个 UISwitch,我只需要一个。

如果一个 UISwitch 打开,我想检查其他 UISwitch,如果有任何 UISwitch 处于打开模式,需要将其关闭。可能吗?

我可以在按钮操作中检查它,但是,我想实时更改 UISwitch 状态。

解决后更新:

这是我的代码:

@IBOutlet weak var firstSwitch: UISwitch!
@IBOutlet weak var secondSwitch: UISwitch!

@IBAction func firstSwitchAction(sender: AnyObject) {
    if self.secondSwitch.on == true {
        self.secondSwitch.setOn(false, animated: true)
    }
}

@IBAction func secondSwitchAction(sender: AnyObject) {
    if self.firstSwitch.on == true {
        self.firstSwitch.setOn(false, animated: true)
    }
}

最佳答案

您需要为您的开关创建 socket ,您可以使用.setOn方法更改它们

一个简单的例子

@IBOutlet weak var mySwitch: UISwitch!
@IBOutlet weak var myOtherSwitch: UISwitch!

@IBAction func mySwitchTouched(sender: UISwitch) {

    if sender.on == true {

        myOtherSwitch.setOn(false, animated: true)

    }
}

关于ios - Swift:通过查看其他 UISwitch 的状态来检查 UISwitch 的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31678509/

相关文章:

ios - Swift:NSDateFormatter dateFromString 在设备上返回 nil

ios - 快速发送和接收推送通知

iphone - 是否可以删除应用程序中设置的所有 NSUserDefaults?

ios - 为应用程序添加试用期。我应该在 Swift (iOS) 中使用 Timer 还是 DispatchQueue?

iphone - cocos2d 使用 CCSpeed 动态改变动画速度

ios - 无法将 NSRange 类型的值转换为预期的参数类型

ios - 删除核心数据项

ios - Xcode Main.storyboard 不显示 iOS 模拟器中出现的内容

ios - 在 SwiftUI 中通过多个 View 绑定(bind)数组

ios - 轮询异步任务,然后等待 1 次成功或所有响应都被拒绝