2011-01-06 17 views
3

iはUITextViewから自動選択を無効にする方法が必要です。テキストビューからコピー/貼り付けをブロックする方法はありますか?

alt text

私はインターフェイスビルダーからすべての属性を選択解除が、私は、テキストをタッチすると、選択が表示されます!

は、ソリューションをお持ちですか?マジックトリックですか?

ありがとうございました。 UIResponder Class Reference

+1

'userInteractionEnabled = NO;'はあなたの目的に適していますか? – thelaws

答えて

5

あなたはUITextViewのサブクラスを作成し、canPerformActionメソッドをオーバーライドする必要があります。あなたはcanPerformActionから期待できる

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

セレクタ値も同様に役立ちますUIResponderStandardEditActions Protocol Reference

UIResponder Class Referenceで見つけることができます。

canPerformAction:withSender:レスポンダー クラスは、要求されたアクション を実装し、それ がない場合は、次のレスポンダを呼び出す場合、この 方法の

このデフォルト実装は、YESを返します。サブクラスはこの メソッドをオーバーライドして、 に基づくメニューコマンドを現在の状態にすることができます。たとえば の場合、 が選択されている場合にはCopyコマンドが有効になります。 ペーストボードに のデータが含まれていて、正しい ペーストボードの表現タイプが含まれていない場合は無効になります。応答側チェーン に レスポンダがない場合、YESを返します。メニューコマンドは が無効です。

0

ルックだから、canPerformAction:withSender:メソッドをオーバーライドするUITextViewのサブクラスを作成し、TextViewの上で実行したくないすべてのアクションに対して「NO」を返します。

関連する問題