美文网首页iOS笔记
UITextView禁用复制黏贴

UITextView禁用复制黏贴

作者: 狗蛋的春天 | 来源:发表于2020-07-01 21:07 被阅读0次

1、新建UITextView的分类

利用runtime添加属性,BOOL类型的必须转换为对象形式的NSNumber,才能添加(像NSSstring,UIColor,UIFontd等对象),也可以直接添加NSNumber类型,用的时候外面直接用@(数字)。

UITextView+xxx.h 里面

  @property(nonatomic,   assign) BOOL canCopyPaste

UITextView+xxx.m里面

  //把bool添加到分类中 用nsnumber包装下
  - (void)setCanCopyPaste:(BOOL)canCopyPaste{
        objc_setAssociatedObject(self, &CanCopyPaste, @(canCopyPaste),OBJC_ASSOCIATION_ASSIGN);
    }
  - (BOOL)canCopyPaste{
        return objc_getAssociatedObject(self, &CanCopyPaste);
    }
   //判断  能不能复制黏贴  重写返回
  - (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
        if (self.canCopyPaste) {
              return YES;
         }
        UIMenuController *menuController = [UIMenuController sharedMenuController];
        if (menuController) {
                [UIMenuController sharedMenuController].menuVisible = NO;
          }
      return NO;
    }

使用

    _textView.canCopyPaste = NO;//为NO时 禁用复制黏贴

2、简单函数介绍

   objc_setAssociatedObject 相当于 setValue:forKey 进行关联value对象
   objc_getAssociatedObject 用来读取对象
   objc_AssociationPolicy  属性 是设定该value在object内的属性,即 assgin,(retain,nonatomic)...等
   objc_removeAssociatedObjects 函数来移除一个关联对象,或者使用objc_setAssociatedObject函数将key指定的关联对象设置为nil

参数

    key:要保证全局唯一,key与关联的对象是一一对应关系。必须全局唯一。通常用@selector(methodName)作为key。
    value:要关联的对象。
    policy:关联策略。有五种关联策略。
    OBJC_ASSOCIATION_ASSIGN 等价于 @property(assign)。
    OBJC_ASSOCIATION_RETAIN_NONATOMIC等价于 @property(strong, nonatomic)。
    OBJC_ASSOCIATION_COPY_NONATOMIC等价于@property(copy, nonatomic)。
    OBJC_ASSOCIATION_RETAIN等价于@property(strong,atomic)。
    OBJC_ASSOCIATION_COPY等价于@property(copy, atomic)。

相关文章

  • UITextView禁用复制黏贴

    1、新建UITextView的分类 利用runtime添加属性,BOOL类型的必须转换为对象形式的NSNumber...

  • iOS菜单组件UIMenuController简单使用(Obje

    2018.3.23 iOS中UITextField、UITextView等长按屏幕弹出选择复制黏贴等选项,UIMe...

  • iOS总结小知识(二)

    1、UITextView中打开或禁用复制、剪切、选择、全选等功能://继承UITextView重写这个方法 2、为...

  • 大神总结

    145、UITextView中打开或禁用复制,剪切,选择,全选等功能 http://www.cocoachina....

  • textview's Skills

    [A].禁用 拷贝、编辑 定义:UITextView * tv = [[UITextView alloc] ini...

  • UITextView 禁用文本选择+禁用复制粘贴

    1、项目需求: 一个cell上的UITextView。多行显示,有属性字符串,可以点击链接跳转。但需要禁止文本选择...

  • 复制黏贴,,

    爱情经得起风雨,却经不起平淡;友情经得起平淡,却经不起风雨!

  • 复制黏贴

    无尽意,观世音菩萨摩诃萨,威神之力,巍巍如是。若有众生,多于淫欲,常念恭敬观世音菩萨,便得离欲。若多嗔恚(huì)...

  • 复制黏贴

    看着窗外的天色渐渐暗了下来,我不知道下班的时候又到了,一天又挨过去了,坐上车,系好保险带,慢慢地匀速开回家。在家楼...

  • A10 选择性粘贴

    常用的黏贴功能为黏贴、黏贴数值、转置、黏贴链接 1.黏贴:复制来源的数值、公式、格式等所有内容 2.黏贴数值:仅复...

网友评论

    本文标题:UITextView禁用复制黏贴

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