值更改前的Swift UISwitch事件

问题描述:

我只是想在UISwitch值更改之前检查一些条件。如果条件得到满足,那么只允许它改变。 在文档中,只有valueChanged事件可用。值被改变后调用。值更改前的Swift UISwitch事件

其他选择?

您至少有两种选择:

  1. 在某些时候做一个检查开关将被触发之前禁用它。
  2. 让开关切换并在您的valueChanged方法中执行检查,然后再继续。如果条件不满足,请使用setOn()方法将UISwitch重置为先前的状态。
+0

第二个替代方法不能正常工作,因为动画发生在您之前,您可以将其设置为以前的状态。所以它改变了状态,然后再次显示它设计得不好。切换之前如何检查任何想法应该切换? – Andrej

+0

是的,我试图通过setOn()设置它回到以前的状态,但问题是,当我们使用setOn()设置的时候不会调用valueChanged事件 – Steve

+0

如果它没有设置,它会看起来更糟糕按下开关时动画不动,因为在这种情况下它看起来没有响应。 – xoudini