所以我創建了一個自定義的TableViewCell,並在筆尖上放了一個UISwitch
。在我甚至將它連接到任何東西之前,如果我在模擬器中運行它並單擊它,它將通過動畫等從關閉切換到開啓。單擊UISwitch時關閉自動切換?
我正試圖添加一個功能,只允許用戶在某個條件爲真時從關閉變爲開啓。我希望如此,當用戶觸摸開關時,它會檢查條件是否爲真,如果不是,開關不會移動。
我已經設置了IBAction
,如果用戶觸摸內部,它會運行我的功能。我的功能是這樣的:
if([on_switch isOn])
{
if([my_switch canSwitchOn])
{
NSLog(@"SWITCHED ON SUCCESSFULLY");
[on_switch setOn:TRUE animated:TRUE];
}
else
{
NSLog(@"SWITCHED ON UNSUCCESSFULLY");
//Put in popup here
}
}
else
{
[[ClassesSingleton sharedSingleton] classSwitchedOff:cell_index];
[on_switch setOn:FALSE animated:TRUE];
}
但是,無論我做什麼,該交換機將翻轉,即使我給它沒有指示進行操作。我很確定這是自動翻轉,即使在我把任何東西吸引到它之前,它也會這樣做。有沒有辦法關掉它?
謝謝!
我試過了。問題是,它在一個TableViewCell上。當我關閉userInteractionEnabled並嘗試點擊開關時,它會觸及它後面的單元格。細胞進入另一種觀點。我需要它仍然算作一個對象,以便單元格不會被觸及,但不會自動切換。 – Ethan 2009-11-06 21:55:21
通過將常規UIView粘貼到具有userInteraction Enabled的按鈕(具有完全相同的大小)下方,您可以使生活變得簡單。然後,當您在按鈕上關閉它時,觸摸將通過開關下落,但被常規視圖佔用,並且永遠不會觸擊TableView Cell – 2009-11-06 22:06:51
另一種選擇是將開關設置爲NO。它會使開關變灰,所以你可以實際上告訴它在點擊它之前不會做任何事情,並且它不會將水龍頭傳遞到它後面的單元格。 – 2009-11-06 23:17:08