美文网首页iOS-开发iOS Developer
UITextField 长按复制粘贴等框里等功能的编辑,取消

UITextField 长按复制粘贴等框里等功能的编辑,取消

作者: 东方诗空 | 来源:发表于2017-03-17 11:02 被阅读87次

    UITextField 长按复制粘贴等框里等功能的编辑,取消

    一、在开发中我们会遇到需要去掉 UITextField 长按复制粘贴等框里等功能。那么如果你的项目里面只有一个 TextField 或者 统一的 TextField。可以重写 UITextField 里面的方法 全部返回 no。就可以取消所有功能。

    - (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
     
        NSLog(@"%@",NSStringFromSelector(action));
        
        return NO;
    }
    
    长按的时候textField的执行方法打印

    二、如果想要选择性的去掉一些。
    那么可以 如下判断

    - (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
     
        NSLog(@"%@",NSStringFromSelector(action));
        
        if (action == @selector(cut:) || action == @selector(copy:)) {
            return NO;
        }
        
        return YES;
    }
    

    三、如果你的项目里面有多个 UITextField ,而且长按的需求功能不统一,那么如果统一重写以上方法,那么势必会造成冲突,解决办法就是继承自UITextField ,在各自的子类里面去重写这个方法。

    好了,一个小技巧总结,分享给大家。欢迎交流学习。

    诗说百态,歌赋养心。穿石天下,永不止步。码农世界,行行生命。
    —诗说穿石—

    相关文章

      网友评论

      本文标题:UITextField 长按复制粘贴等框里等功能的编辑,取消

      本文链接:https://www.haomeiwen.com/subject/lmfenttx.html