0

我有一个自定义 UIViewController,我的所有 ViewController 都继承自它。在这个控制器上,我有一个 UITapGestureRecognizer。我还有一个名为 inHelpMode 的布尔属性。

这个想法是,当视图处于帮助模式时,点击一个控件会弹出一个弹出窗口,其中包含有关控件功能的信息。

这适用于大多数控件,但有两个值得注意的例外:UISwitch 和 UITextField。

第一个切换,第二个进入编辑模式。

当我进入帮助模式时,我尝试在这些控件上将启用设置为 NO,这会阻止控件响应,但也会阻止显示弹出窗口。将 Controller 设置为 UItextField 的委托并覆盖 textFieldShouldBeginEditing 时也会发生同样的情况。

4

1 回答 1

0

进入编辑模式时,尝试将 UISwitch 和 UITextField 的 userInteractionEnabled 设置为 NO。离开帮助模式时不要忘记将其设置回 YES。如果这可行,那么一定是因为即使启用设置为 NO,这两个控件仍会进行一些触摸处理。通过将 userInteractionEnabled 设置为 NO,您将在 UIView 级别禁用它们,因此希望这会导致点击手势被它们忽略。

于 2012-04-16T13:53:47.727 回答