0

私は多くの方法を実装しましたが、貼り付けは非表示になりません。私はXcodeバージョン4.5.2を使用しています

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    UIMenuController *menuController = [UIMenuController sharedMenuController];
    if (menuController) {
        [UIMenuController sharedMenuController].menuVisible = NO;

    }
    return NO;  
}

すべての方法がうまくいかないようです。誰でもこれについて私を助けることができますか? 前もって感謝します

4

2 に答える 2

0

UIMenuController アイテムを有効/無効にするには、これらのことを行う必要があります。

  1. UIMenuController アイテムを表示/非表示にするには、ビューまたはビュー コントローラーを実装する必要がありますcanBecomeFirstResponder(表示/非表示に対して YES/NO を返します)。

  2. UIResponderのメソッドを実装しcanPerformAction:withSender:て、コンテキストに基づいてユーザー インターフェイス コマンド {コピー、選択、すべて選択、貼り付けなど} を無効または有効にすることもできます。

  3. Updateまたは、 のメソッドをオーバーライドしてUIMenuController、個々の項目のカスタム動作を処理できます。たとえば、ペーストボードに互換性のあるタイプのデータが含まれていない場合、Pasteコマンドは無効になります。したがって、このメソッドをオーバーライドして、貼り付けメニュー項目を強制的に表示/非表示にすることができます。

于 2013-05-09T14:27:39.840 に答える
0

これを試すことができます: コントローラーのviewDidLoadメソッドで、非表示に設定します。

[[UIMenuController sharedMenuController] setMenuVisible:NO];

それがうまくいかない場合は、システムの一部であるため、運が悪いと思います. 私が見る唯一の方法は、コンテキスト メニューをトリガーする可能性のあるオブジェクトとのユーザー インタラクションを無効にすることです。

于 2013-05-09T14:05:51.593 に答える