6

UITextViewを使用してiPhoneアプリで作業しています。ユーザーがメッセージをコピーしてメッセージを貼り付けることのみを許可したい。しかし、 Select all、Select、Define などを表示したくありません。オプションを制御するために、以下のコードに従っています。ただし、すべてのオプションは UITextView クリックで表示されます。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
    if (action == @selector(paste:))
    {
        return NO;
    }
    else if (action == @selector(copy:))
    {
        return NO;
    }

    return [super canPerformAction:action withSender:sender];
}

誰でも私がこれを行うのを手伝ってくれませんか。|.Text.|また、メッセージのコピー中に表示したくありません。これを行うのを手伝ってください。前もって感謝します。

4

2 に答える 2

2

まず、上記のコードが機能しない場合は、UITextView のクラスを上記のメソッドを実装するカスタム クラスに変更するのを忘れている可能性があります。

あなたが持っているものがうまくいくはずです。そして、select allに対してもnoを返す必要があります

   if (action == @selector(selectAll:))
        {
            return NO;
        }

また、cut に対して no を返すこともできます。また、ユーザーが textView からテキストを削除することを望まないと仮定します。

また、これらは互いに依存していないため、 if else ステートメントである必要はありません

実際にはこの順序で呼び出されます

切り取り: コピー: 選択: selectAll: 貼り付け: 削除:

そのため、必要に応じて機能を削除してください。

于 2012-08-03T08:22:23.650 に答える