【问题标题】:Swift UISwitch not working first timeSwift UISwitch 第一次不工作
【发布时间】:2016-05-17 02:03:10
【问题描述】:

我的视图控制器上有一个 UISwitch,我有它,所以当我切换它时,按钮的文本会发生变化。我第一次将其关闭并打开它不起作用,但是如果您第二次尝试它就起作用了...我的代码中是否缺少某些东西?

        UISwitchOutlet.addTarget(self, action: #selector(MainPageViewController.switchChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)


func switchChanged(mySwitch: UISwitch) {
    let value = UISwitchOutlet.on
    if value {
        self.enterRoom.titleLabel?.text = "Enter Room"
    } else {
        self.enterRoom.titleLabel?.textAlignment = NSTextAlignment.Center
        self.enterRoom.titleLabel?.text = "Create"


    }
}

【问题讨论】:

  • if value { 条件之前定义let value = UISwitchOutlet.on 是没有意义的。它永远不会转到 else 选项。删除第一行,将第二行改为if mySwitch.on {
  • 哦我的错我以为我必须先设置默认值
  • 只需添加到 viewDidLoad UISwitchOutlet.on = true

标签: swift uibutton swift2 uiswitch


【解决方案1】:

试试下面。您的值将始终处于开启状态,因为您正在设置为开启状态。

func switchChanged(mySwitch: UISwitch) {
    if mySwitch.isOn {
        self.enterRoom.titleLabel?.text = "Enter Room"
    } else {
        self.enterRoom.titleLabel?.textAlignment = NSTextAlignment.Center
        self.enterRoom.titleLabel?.text = "Create"
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 2012-05-16
    相关资源
    最近更新 更多