在UITextField中禁用"定义"

ami*_*rfl 10 objective-c ios

我有一个UITextField只显示数值(0-9,., - ).当用户选择文本字段的内容时,出现具有"复制","粘贴"和"定义"的菜单.由于textfield只显示数值,我不希望出现"define"选项.如何禁用字典"定义"选项UITextField

编辑:我已经解决了这个问题,并在下面发布了解决方案

Tho*_*mon 5

Swift - iOS 8

您可以通过继承UITextField和重写canPerformAction:WithSender方法来完成它.

class MyTextFieldWithoutDefine: UITextField {
    override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
        if action == "_define:" {
            return false
        }

        return super.canPerformAction(action, withSender: sender)
    }
}
Run Code Online (Sandbox Code Playgroud)

所有行动清单:

cut:
copy:
select:
selectAll:
paste:
delete:
_promptForReplace:
_transliterateChinese:
_showTextStyleOptions:
_define:
_addShortcut:
_accessibilitySpeak:
_accessibilitySpeakLanguageSelection:
_accessibilityPauseSpeaking:
makeTextWritingDirectionRightToLeft:
makeTextWritingDirectionLeftToRight:
Run Code Online (Sandbox Code Playgroud)


Stu*_*ner -2

尝试这个:

UITextField* textField = //...;
textField.autocorrectionType = UITextAutocorrectionTypeNo;
Run Code Online (Sandbox Code Playgroud)