2013-04-01 17 views
11

UITextField wie die Paste zu deaktivieren?UITextField wie kann ich die Paste deaktivieren?

+0

Diese Antwort pengone gegeben wurde [pengone] (http://stackoverflow.com/users/544050/pengone "PengOne") in dieser Frage: http://stackoverflow.com/questions/6701019/ho w-to-disable-copy-paste-option-from-uitextfield-programmatisch? rq = 1 –

+0

oh, tut mir leid, ich werde das Problem später nicht wiederholen. versprechen. – isaced

Antwort

75

überschreibt die canPerformAction:withSender: Methode NO für Aktionen zurückzukehren, die Sie nicht wollen, ermöglichen:

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

In Above-Code nur für Paste

Ein anderer Weg

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

Überprüfen Sie auch This link

EDITED

In iOS 7 können Sie so tun, wie ,,

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender { 
    [[NSOperationQueue mainQueue] addOperationWithBlock:^{ 
     [[UIMenuController sharedMenuController] setMenuVisible:NO animated:NO]; 
    }]; 
    return [super canPerformAction:action withSender:sender]; 
} 

Für Swift Benutzer

override public func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool { 
    if action == #selector(copy(_:)) || action == #selector(paste(_:)) { 
     return false 
    } 

    return true 
} 
+0

OK, Danke .... – isaced

+3

Funktioniert nicht in iOS 7 –

+1

Dies funktioniert nicht in iOS7 für mich. – CMVR

Verwandte Themen