UITextField의 입력된 텍스트의 복사 및 붙여넣기를 막기 위해서 찾아본 글.


문제는 실제 클립보드 기능을 막는 효과가 있지만 키보드에서 단축키를 지원하면 복사 및 붙여넣기가 다시 가능해진다.


키보드에 해당 단축키 표시 부분을 막는 작업과 함께 해주어야 한다.


iOS 7이전과 이후 적용에 대하여 잘 설명되어 있다.



출처 - http://stackoverflow.com/questions/15745824/uitextfield-how-to-disable-the-paste/15746164#15746164



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

    

    BOOL isDisableCopyAndPaste;

    

    if ([[UIDevice currentDevice].systemVersion floatValue] < 7.0) { // iOS 6 이전

        if (action == @selector(paste:))

            return NO;

        if (action == @selector(select:))

            return NO;

        if (action == @selector(selectAll:))

            return NO;

        isDisableCopyAndPaste = [super canPerformAction:action withSender:sender];

    }

    else {    // iOS 7 이후

        [[NSOperationQueue mainQueue] addOperationWithBlock:^{

            [[UIMenuController sharedMenuController] setMenuVisible:NO animated:NO];

        }];

        isDisableCopyAndPaste = [super canPerformAction:action withSender:sender];

    }

    return isDisableCopyAndPaste;

} 


+ Recent posts