禁止UITextField 使用粘贴复制功能
2016-02-14 00:20
239 查看
在开发中有时候会遇到这样的需求,就是一个文本框里面的内容不允许用户复制,或者不允许用户将其它地方复制的内容粘贴进来,本文交给你怎么实现禁止 UITextField 的粘贴、复制。
在 UITextField 中有这样一个方法:-canPerformAction:withSender:,下面来重写这个方法:
?
运行程序,长按文本框,会出现一个菜单:
![](http://static.oschina.net/uploads/space/2015/1026/225802_fOMg_1426613.png)
你看,剪切、复制、选择、粘贴等功能都在里面了,只要让你不希望有的功能不出现在这个菜单上,或者干脆没有这个菜单就能达到我们的目的了。
怎么弄呢?
还记得上面重写的那个方法吗?看看控制台打印了啥吧:
![](http://static.oschina.net/uploads/space/2015/1026/230111_8nSH_1426613.png)
这都是在长按文本框的时候打印的。你看 -cut: -cop: -paste: 这些方法都在这里,再结合这个方法的名字就能明白了,在弹出那个菜单之前,系统会调用 -canPerformAction:withSender: 这个方法一一判断每个功能是否允许使用。所以只需要在对应的action出现的时候返回NO就可以了:
?
再运行程序,长按文本框:
![](http://static.oschina.net/uploads/space/2015/1026/230951_OnLT_1426613.png)
这回找找吧复制和粘贴没有了,我们的目的实现了。
如果根本就不想看见这个菜单的话,-canPerformAction:withSender: 直接 return NO 就行了,这样无论怎么长按,这个黑色的菜单都不会出现了。
豆电雨 摘自 http://my.oschina.net/javaeee/blog/522377
在 UITextField 中有这样一个方法:-canPerformAction:withSender:,下面来重写这个方法:
?
![](http://static.oschina.net/uploads/space/2015/1026/225802_fOMg_1426613.png)
你看,剪切、复制、选择、粘贴等功能都在里面了,只要让你不希望有的功能不出现在这个菜单上,或者干脆没有这个菜单就能达到我们的目的了。
怎么弄呢?
还记得上面重写的那个方法吗?看看控制台打印了啥吧:
![](http://static.oschina.net/uploads/space/2015/1026/230111_8nSH_1426613.png)
这都是在长按文本框的时候打印的。你看 -cut: -cop: -paste: 这些方法都在这里,再结合这个方法的名字就能明白了,在弹出那个菜单之前,系统会调用 -canPerformAction:withSender: 这个方法一一判断每个功能是否允许使用。所以只需要在对应的action出现的时候返回NO就可以了:
?
![](http://static.oschina.net/uploads/space/2015/1026/230951_OnLT_1426613.png)
这回找找吧复制和粘贴没有了,我们的目的实现了。
如果根本就不想看见这个菜单的话,-canPerformAction:withSender: 直接 return NO 就行了,这样无论怎么长按,这个黑色的菜单都不会出现了。
豆电雨 摘自 http://my.oschina.net/javaeee/blog/522377
相关文章推荐
- UIStackView相关
- LeetCode 62. Unique Paths
- 浅谈交互设计师要知道的「数据分析」两三事
- Code Contracts 关于方法Contract.Requires<T>()
- UI基础-04 简单的加法计算器
- UIScrollView
- Splunk setup guide
- ViewPager中requestDisallowInterceptTouchEvent
- LeetCode 303. Range Sum Query - Immutable
- iOS --- 根据字符串的实际大小来计算UILabel的size
- 自定义UICollectinviewFlowLayout,即实现瀑布流
- Bluestacks2查看/data/data下文件的方法
- ANDROID 6.0大舞台(1):从交互设计到UI代码开发
- Arduino代码机制-引脚读写
- iOS 去掉UITextField前后空格
- 杭电1059Windows Message Queue
- 【小白的CFD之旅】09 初识FLUENT
- 96. Unique Binary Search Trees LeetCode
- Codeforces 622A Infinite Sequence 【数学】
- LABjs、RequireJS、SeaJS