uitextfield的选择,selectall,cut,copy功能在默认情况下显示在文本字段上时长或双点击时。我不需要所有功能。请告诉我如何禁用长按或双击手势功能。
以下代码将禁用这些选项:
您必须子类UITextField
并尝试使用此代码来禁用/hide carex and Input(copy/paste)
override func caretRectForPosition(position: UITextPosition!) -> CGRect {
return CGRect.zeroRect
}
override func selectionRectsForRange(range: UITextRange) -> [AnyObject] {
return []
}
override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
// Disable copy, select all, paste
if action == Selector("copy:") || action == Selector("selectAll:") || action == Selector("paste:") {
return false
}
// Default
return super.canPerformAction(action, withSender: sender)
}
这是Swift 3.0答案,
请尝试,
override func canPerformAction(_ action: Selector, withSender sender: Any) -> Bool {
UIMenuController.shared.menuVisible = false
//do not display the menu
self.resignFirstResponder()
//do not allow the user to selected anything
return false
}
希望这对您有帮助。