我做一個簡單的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,則開關打開。否則關閉。如果開關打開,那麼「開啓」方法將會被讀取。 –
現在我明白了。 –