2016-08-18 84 views
-1

我只是想在UISwitch值更改之前檢查一些條件。如果條件得到滿足,那麼只允許它改變。 在文檔中,只有valueChanged事件可用。值被改變後調用。值更改前的Swift UISwitch事件

其他選擇?

回答

0

您至少有兩種選擇:

  1. 在某些時候做一個檢查開關將被觸發之前禁用它。
  2. 讓開關切換並在您的valueChanged方法中執行檢查,然後再繼續。如果條件不滿足,請使用setOn()方法將UISwitch重置爲先前的狀態。
+0

第二個替代方法不能正常工作,因爲動畫發生在您之前,您可以將其設置爲以前的狀態。所以它改變了狀態,然後再次顯示它設計得不好。切換之前如何檢查任何想法應該切換? – Andrej

+0

是的,我試圖通過setOn()設置它回到以前的狀態,但問題是,當我們使用setOn()設置的時候不會調用valueChanged事件 – Steve

+0

如果它沒有設置,它會看起來更糟糕按下開關時動畫不動,因爲在這種情況下它看起來沒有響應。 – xoudini