2015-09-25 11 views
5

UIWebViewをサブクラス化してカスタムUIMenuController機能を追加しましたが、これはiOS 9までかなりうまく機能していました。変更されたことはわかりませんが、私はリンクをタップするとメニューが表示されますが、メニューは簡単に表示されますが、私にはそれ以上のタッピングはありません。UIMenuControllerが表示された直後に解除されています

私は、その解雇がどこから生じているのか分かりにくいです。私はUIMenuControllerDidHideMenuNotificationの通知を観察しています。メニューが消えた直後に実際に呼び出されていますが、私は解雇の原因を見つけるのに苦労しています。

私は潜んでいる可能性のあるさまざまな問題があることを認識していますが、これまで誰かがこのようなことを経験したことがありますか?何とか解雇の原因を追跡する方法はありますか?

enter image description here

+0

たぶん、あなたはメニューコントローラを表示/非表示に関連するすべてのコードを投稿することができればそれを修正するには

私たちはもっと助けることができた。 – Istvan

+0

私はいくつかのコードを表示する必要があると思いますか? –

答えて

7

私はそれが複数のプロセスの結果として起こると考え、iOS9と同じ問題がありました。これは理想的な解決策ではありませんが、私が最初のレスポンダになった後は、setMenuVisible:YESの前にDELAYを追加しました。

[self performSelector:@selector(showMenuController :) withObject:point afterDelay:0.4];

+1

うまくいった!私はできるだけ早く賞金を授与します。ありがとう – Lizza

0

あなたのビューコントローラで次のメソッドを追加することで試してみてください。

- (BOOL) canBecomeFirstResponder { 
    return YES; 
} 
+0

私は明確にすべきだった、私はそこにそれを持っている。 – Lizza

+0

私は参照してください。ビューまたはビューコントローラで '-becomeFirstResponder'と呼んでいますか? – Abhinav

+0

ええ、menuControllerが表示される前に、becomeFirstResponderを呼び出しています。それはVCからではなく、ビューから発生しています。あなたの助けてくれてありがとう、btw。 – Lizza

0

カスタムビュー内にUIMenuControllerを表示しようとすると、同様の問題が発生していました。そして、上記のディレイフィックスは機能しませんでした。私はそれがtrueを返したように、私のカスタムビューと、それが中に含まれていたのViewControllerの両方に、canBecomeFirstResponderに上書きを追加する必要がありました。

関連する問題