我做一个简单的WKInterface有开关控制,使一个函数,该函数切换到显示开关这样的值: 不知道为什么开关控制总发送虚假值
我不不知道为什么当测试开关时,我收到的结果总是错误的?请解释并告诉我如何解决。正如我认为那个开关的输出将从假变为真并继续前进......这里有什么问题?或Xcode的开关错误?
我做一个简单的WKInterface有开关控制,使一个函数,该函数切换到显示开关这样的值: 不知道为什么开关控制总发送虚假值
我不不知道为什么当测试开关时,我收到的结果总是错误的?请解释并告诉我如何解决。正如我认为那个开关的输出将从假变为真并继续前进......这里有什么问题?或Xcode的开关错误?
尝试这种情况:对于开关
首先声明出口这样的:
@IBOutlet weak var mySwitch: UISwitch!
在viewDidLoad中实现监听器(目标动作):
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)")
}
}
}
这里,强似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
}
}
祝你好运!
如果按CTRL并在InterfaceController源代码拖动鼠标,下面的功能将被自动添加:- (IBAction)test:(BOOL)value { }.
和价值是正确的。 –
Lorenzo
当我更改Bool - > UISwitch时,我的代码在运行代码时会出错 –
继续并重新链接您的UISlider连接。 **不要**忘记在你的* Main.storyboard中'控制'点击''UISlider''并''将'你的UISlider'重新链接到你的* View Controller之前'断开'你当前的连接到'testSwitchPressed' *。 @HieuDucPham –
IBAction函数传递触发动作的UIElement。 因此,使用这样的事情
@IBAction func testSwitchPressed(sender : UISwitch)
{
println(sender.on)
}
如果按CTRL并拖动InterfaceController源代码中的鼠标,下面的功能将被自动添加:
- (IBAction为)TapOnSwitch:(BOOL)值 { }
而且值是正确的。 如果您希望在用户更改交换机的值时检查该值,这是有效的。
我知道这是正确的,当我按Ctrl并将开关拖动到代码,但问题是:虽然我照你说的做,但我总是得到的输出值是假的。 –
我知道我可以这样做。但我不知道为什么我的代码开关不能正常工作。正如我所想,当我按住并拖动开关以编码并使用动作时。开关的输出将从真变为假等等,但是用我的代码,输出总是假而不依赖于开关的状态。 –
你错过了细节。你必须阅读“value.on”。这是uiswitch的方法。如果你认为它的价值不够。如果value.on为true,则开关打开。否则关闭。如果开关打开,那么“开启”方法将会被读取。 –
现在我明白了。 –