iOS开发之TextField禁用粘贴、选择和全选功能
众所周知,TextField默认情况下,双击会出现“Paste”等提示复制粘贴的快捷菜单,方便用户快速编辑文本,但很多情况下,我们并不希望用户能够粘贴文本【虽然这样不友好,但万一产品经理要这么实现呢?】,那么我们可以这样做:
方法
自定义TextField
重写canPerformAction方法
classCustomTextField:UITextField{
///是否只是用于显示(禁用粘贴、选择和全选功能)
vardisplayOnly=false
///禁用粘贴
vardisablePaste=false
///禁用选择
vardisableSelect=false
///禁用全选
vardisableSelectAll=false
overridefunccanPerformAction(action:Selector,withSendersender:AnyObject?)->Bool{
ifdisplayOnly{
returnfalse
}
ifdisablePaste&&action==#selector(paste(_:)){
returnfalse
}
ifdisableSelect&&action==#selector(select(_:)){
returnfalse
}
ifdisableSelectAll&&action==#selector(selectAll(_:)){
returnfalse
}
returnsuper.canPerformAction(action,withSender:sender)
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。