2

我在设置中有一个 uiswitch,允许用户查看应用程序中的一些敏感内容。在允许用户通过点击更改开关之前,我想提示他们提供密码。

我尝试禁用开关,但无法检测到来自禁用开关的点击/触摸(没有一些笨拙的解决方法)。

是否有事件或方法可以在 uiswitch 更改值之前检测触摸/点击,以便我可以防止它更改值并显示提示?

我尝试使用触地得分并触摸内部,但它们并没有阻止价值的变化。

感谢您的任何建议。

4

1 回答 1

9

这是一个想法。如您所说,禁用开关。但在开关后面还有另一个视图,一个与开关大小相同的视图,后面有一个 UITapGestureRecognizer。

你知道会发生什么吗?如果开关被禁用,触摸将通过它后面的视图,并且点击手势识别器将触发。因此,您将知道用户试图点击开关。

但是一旦输入了密码并启用了开关,您就可以忽略轻击手势识别器(实际上它可能永远不会再次触发,因为在它前面的开关会吃掉触摸)。

于 2017-01-30T19:52:27.710 回答