值更改前的Swift UISwitch事件
问题描述:
我只是想在UISwitch值更改之前检查一些条件。如果条件得到满足,那么只允许它改变。 在文档中,只有valueChanged事件可用。值被改变后调用。值更改前的Swift UISwitch事件
其他选择?
答
您至少有两种选择:
- 在某些时候做一个检查开关将被触发之前禁用它。
- 让开关切换并在您的
valueChanged
方法中执行检查,然后再继续。如果条件不满足,请使用setOn()
方法将UISwitch
重置为先前的状态。
第二个替代方法不能正常工作,因为动画发生在您之前,您可以将其设置为以前的状态。所以它改变了状态,然后再次显示它设计得不好。切换之前如何检查任何想法应该切换? – Andrej
是的,我试图通过setOn()设置它回到以前的状态,但问题是,当我们使用setOn()设置的时候不会调用valueChanged事件 – Steve
如果它没有设置,它会看起来更糟糕按下开关时动画不动,因为在这种情况下它看起来没有响应。 – xoudini