眾所周知,TextField默認情況下,雙擊會出現“Paste”等提示復制粘貼的快捷菜單,方便用戶快速編輯文本,但很多情況下,我們并不希望用戶能夠粘貼文本【雖然這樣不友好,但萬一產品經理要這么實現呢?】,那么我們可以這樣做:
方法
自定義TextField
重寫canPerformAction方法
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) }}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答