0

UIMenuItem

UIMenuControllerは、切り取り、コピー、貼り付け、選択/すべて、およびその他のシステムメニュー項目を含むポップオーバーを表示できることを知っています。しかし、上のスクリーンショットに表示されている最後のアイテムが何であるかはわかりません。その機能は何ですか?アプリケーション内で何かを呼び出しますか?もしそうなら、何を呼び出しますか?無効にすることはできますか?この場合、国際キーボードを無効にせずに、プログラムでアイテムを無効または削除したいと思います。

4

2 に答える 2

1

国際キーボードを無効にせずにプログラムでRTLメニュー項目を無効にすることについて話していると仮定すると、少なくとも使用中はできないようです。UIMenuController. そのプロパティのドキュメントを見ると、menuItemsカスタム項目をシステムの後に挿入できることが説明されています。アイテムですが、何らかの理由で不要なシステムアイテムを削除できることを示すものではありません。

それをタップすると、iOSがUITextInputプロトコルのsetBaseWritingDirection:forRange:メソッドを呼び出す可能性があります。しかし、それについてはわかりません。ドキュメントを少し調べただけで気付いた明確な説明がないため、推測することしかできません。

于 2011-05-19T03:54:41.333 に答える
1

写真の右端の「矢印」UIMenuItemは確かにシステムアイテムです。_setRtoLTextDirectionそのセレクターは:または:と呼ばれ_setLtoRTextDirectionます。Xcodeのオートコンプリートはこれらのメソッドを入力しようとしたときに役に立たないため、Appleはそれらをいじってほしくないのではないかと思います。

それらを無効にするには、それらをチェックし、オーバーライドされた--(BOOL)canPerformAction:(SEL)action withSender:(id)senderメソッドで「NO」を返します。

UIMenuItemsのデフォルトを無効にしたい他の人のために、私のブログUIMenuItemControllerで完全なリスト(または少なくともそれらのほとんど)を見つけることができます。

于 2011-06-28T06:43:37.907 に答える