0

次のコードを使用して、テキストフィールドへの貼り付けを無効にしようとしています:

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {

  if ([UIMenuController sharedMenuController]) {

    [UIMenuController sharedMenuController].menuVisible = NO;

  }

  return NO;
}

私はこのコードを他のプロジェクトで使用しましたが、現在のプロジェクトでは複数回呼び出されて貼り付けメニュー項目が表示されます。

私が見ることができる唯一の違いは、このプロジェクトでは、上記のコードが存在するビューコントローラーがカスタムビューコントローラーの子であることです。

編集

iOS5 ではなく iOS4.3 のシミュレーターで実行すると、メニュー オプションが表示されません。

4

1 に答える 1

3

結局そこに着きました。コードをビューコントローラーに配置する代わりに、UITextFieldをサブクラス化してそこに配置すると、機能します。

私はここの例に基づいています:

UIMenuControllerからコピーを本当に削除するにはどうすればよいですか

于 2011-11-16T16:51:26.173 に答える