How to disable paste option in menucontroller in iOS?

前端 未结 4 1162
一生所求
一生所求 2021-01-29 00:53

I have to disable Paste option when user long press on UITextField.I have got this code but still it is not hiding Paste option.

-(BOOL)canPerformAction:(SEL)act         


        
相关标签:
4条回答
  • 2021-01-29 01:28

    Use this

    @implementation UITextFiels (DisableCopyPaste)
    
    - (BOOL)canBecomeFirstResponder
    {
        return NO;
    }
    
    @end
    
    0 讨论(0)
  • 2021-01-29 01:32

    As already said in comments.. you need to "include the exact same code in a subclass of UITextField and then use instances of that class"

    so.. create new file .. let's say TestPaste.. subclass of UITextField

    enter image description here

    put your code in implementation file (TextPaste.m)

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

    now. go to your NIB/Storyboard, click on your UITextFiled and change the textview class to your TextPaste

    enter image description here

    0 讨论(0)
  • 2021-01-29 01:49

    Piya just check this below link :-

    http://eureka.ykyuen.info/2010/04/12/iphone-disable-the-cutcopypaste-menu-on-uitextfield/

    You can also check this code :-

    - (BOOL)canPerformAction:(SEL)action withSender:(id)sender
    {
        if (action == @selector(paste:))
            return NO;
        return [super canPerformAction:action withSender:sender];
    }
    
    0 讨论(0)
  • 2021-01-29 01:53

    You have to create a new Class-> subclass of UITextField .. then in your code/xib change the textview class to your Custom Class.. and the add the method in your custom TextField class

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

    It will work then

    0 讨论(0)
提交回复
热议问题