不知道为什么switch控件总是发送false值
Don't know why the switch control always send false Value
我制作了一个带有开关控件的简单 WKInterface 并为该开关制作了一个函数来显示开关的值,如下所示:
不知道为什么测试switch的结果总是false?请解释并告诉我如何修复。正如我所想的那样,该开关的输出将从 false 变为 true 并继续前进......这里有什么问题?或者 Xcode 的 switch 错误?
在这里,不是传递类型 Bool
的值,而是将其作为 UISwitch
:
传递
@IBAction func testSwitchPressed(value: UISwitch) {
println(value.on)
}
这将正确判断您的 switch
是打开还是关闭。
这很棒,因为您也可以使用 Control Flow
:
@IBAction func testSwitchPressed(value: UISwitch) {
//println(value.on)
if value.on {
println("The switch has been enabled!")
//cool features here
} else {
println("The switch has been disabled!")
//other cool features here
}
}
祝你好运!
IBAction 函数传递触发操作的 UIElement。
所以使用这样的东西
@IBAction func testSwitchPressed(sender : UISwitch)
{
println(sender.on)
}
如果在InterfaceController源代码中按住CTRL并拖动鼠标,会自动添加以下函数:
-(IBAction)TapOnSwitch:(BOOL)值
{
}
并且值是正确的。
如果要在用户更改开关值时检查值,则此选项有效。
试试这个:
首先像这样声明开关的插座:
@IBOutlet weak var mySwitch: UISwitch!
在viewDidLoad中实现监听器(target-action):
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
mySwitch.addTarget(self, action: "switchChangedValue:", forControlEvents: UIControlEvents.ValueChanged)
}
声明这个函数,每次开关值改变时你都会得到响应:
func switchChangedValue(sender:UISwitch){
if sender.isKindOfClass(UISwitch){
if sender.on {
println("Switch is ON")
println("\(sender.on)")
} else {
println("Switch is OFF")
println("\(sender.on)")
}
}
}
我制作了一个带有开关控件的简单 WKInterface 并为该开关制作了一个函数来显示开关的值,如下所示:
不知道为什么测试switch的结果总是false?请解释并告诉我如何修复。正如我所想的那样,该开关的输出将从 false 变为 true 并继续前进......这里有什么问题?或者 Xcode 的 switch 错误?
在这里,不是传递类型 Bool
的值,而是将其作为 UISwitch
:
@IBAction func testSwitchPressed(value: UISwitch) {
println(value.on)
}
这将正确判断您的 switch
是打开还是关闭。
这很棒,因为您也可以使用 Control Flow
:
@IBAction func testSwitchPressed(value: UISwitch) {
//println(value.on)
if value.on {
println("The switch has been enabled!")
//cool features here
} else {
println("The switch has been disabled!")
//other cool features here
}
}
祝你好运!
IBAction 函数传递触发操作的 UIElement。 所以使用这样的东西
@IBAction func testSwitchPressed(sender : UISwitch)
{
println(sender.on)
}
如果在InterfaceController源代码中按住CTRL并拖动鼠标,会自动添加以下函数:
-(IBAction)TapOnSwitch:(BOOL)值 { }
并且值是正确的。 如果要在用户更改开关值时检查值,则此选项有效。
试试这个:
首先像这样声明开关的插座:
@IBOutlet weak var mySwitch: UISwitch!
在viewDidLoad中实现监听器(target-action):
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. mySwitch.addTarget(self, action: "switchChangedValue:", forControlEvents: UIControlEvents.ValueChanged) }
声明这个函数,每次开关值改变时你都会得到响应:
func switchChangedValue(sender:UISwitch){ if sender.isKindOfClass(UISwitch){ if sender.on { println("Switch is ON") println("\(sender.on)") } else { println("Switch is OFF") println("\(sender.on)") } }
}