0

すべての ViewController が継承するカスタム UIViewController があります。このコントローラーには、UITapGestureRecognizer があります。inHelpMode というブール値のプロパティもあります。

ビューがヘルプ モードの場合、コントロールをタップすると、コントロールの機能に関する情報がポップアップ表示されます。

これは、UISwitch と UITextField の 2 つの注目すべき例外を除いて、ほとんどのコントロールで正常に機能します。

1 つ目は切り替え、2 つ目は編集モードに入ります。

ヘルプ モードに入ったときに、これらのコントロールを NO に設定してみました。これにより、コントロールが応答しなくなり、ポップアップも表示されなくなります。Controller を UItextField のデリゲートとして設定し、textFieldShouldBeginEditing をオーバーライドする場合も同じことが起こります。

4

1 に答える 1

0

編集モードに入るときに、UISwitch と UITextField に対して userInteractionEnabled を NO に設定してみてください。ヘルプ モードを終了するときは、忘れずに YES に戻してください。これが機能する場合は、有効が NO に設定されている場合でも、これら 2 つのコントロールが何らかのタッチ処理を行うためであるに違いありません。userInteractionEnabled を NO に設定することで、UIView レベルでそれらを無効にしているので、タップ ジェスチャが無視されるようになることを願っています。

于 2012-04-16T13:53:47.727 に答える