众所周知,TextField默认情况下,双击会出现“Paste”等提示复制粘贴的快捷菜单,方便用户快速编辑文本,但很多情况下,我们并不希望用户能够粘贴文本【虽然这样不友好,但万一产品经理要这么实现呢?】,那么我们可以这样做:
方法
自定义TextField
重写canPerformAction方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class CustomTextField: UITextField {
/// 是否只是用于显示(禁用粘贴、选择和全选功能)
var displayOnly = false
/// 禁用粘贴
var disablePaste = false
/// 禁用选择
var disableSelect = false
/// 禁用全选
var disableSelectAll = false
override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
if displayOnly {
return false
}
if disablePaste && action == #selector(paste(_:)) {
return false
}
if disableSelect && action == #selector(select(_:)) {
return false
}
if disableSelectAll && action == #selector(selectAll(_:)) {
return false
}
return super.canPerformAction(action, withSender: sender)
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/chenyblog/article/details/53188992