UIMenuController
は、切り取り、コピー、貼り付け、選択/すべて、およびその他のシステムメニュー項目を含むポップオーバーを表示できることを知っています。しかし、上のスクリーンショットに表示されている最後のアイテムが何であるかはわかりません。その機能は何ですか?アプリケーション内で何かを呼び出しますか?もしそうなら、何を呼び出しますか?無効にすることはできますか?この場合、国際キーボードを無効にせずに、プログラムでアイテムを無効または削除したいと思います。
2 に答える
国際キーボードを無効にせずにプログラムでRTLメニュー項目を無効にすることについて話していると仮定すると、少なくとも使用中はできないようです。UIMenuController.
そのプロパティのドキュメントを見ると、menuItems
カスタム項目をシステムの後に挿入できることが説明されています。アイテムですが、何らかの理由で不要なシステムアイテムを削除できることを示すものではありません。
それをタップすると、iOSがUITextInput
プロトコルのsetBaseWritingDirection:forRange:
メソッドを呼び出す可能性があります。しかし、それについてはわかりません。ドキュメントを少し調べただけで気付いた明確な説明がないため、推測することしかできません。
写真の右端の「矢印」UIMenuItem
は確かにシステムアイテムです。_setRtoLTextDirection
そのセレクターは:または:と呼ばれ_setLtoRTextDirection
ます。Xcodeのオートコンプリートはこれらのメソッドを入力しようとしたときに役に立たないため、Appleはそれらをいじってほしくないのではないかと思います。
それらを無効にするには、それらをチェックし、オーバーライドされた--(BOOL)canPerformAction:(SEL)action withSender:(id)sender
メソッドで「NO」を返します。
UIMenuItems
のデフォルトを無効にしたい他の人のために、私のブログUIMenuItemController
で完全なリスト(または少なくともそれらのほとんど)を見つけることができます。