已支持 CocoaPods
pod 'WKTextFieldFormatter'
首先,将 WKTextFieldFormatter 设置为 controller 中的一个属性
@property (strong, nonatomic) WKTextFieldFormatter *formatter;
使用 initWithTextField:
方法初始化 _formatter
_formatter = [[WKTextFieldFormatter alloc] initWithTextField:_textField];
设置 _formatter 的 formatterType
typedef NS_ENUM(NSUInteger, WKFormatterType) {
WKFormatterTypeAny, //不过滤
WKFormatterTypePhoneNumber, //11位电话号码
WKFormatterTypeNumber, //数字
WKFormatterTypeDecimal, //小数,默认精确到点后两位
WKFormatterTypeAlphabet, //英文字母
WKFormatterTypeNumberAndAlphabet, //数字+英文字母
WKFormatterTypeIDCard, //18位身份证
WKFormatterTypeCustom //自定义
};
例如
_formatter.formatterType = WKFormatterTypePhoneNumber;
搞定。
除了选择 WKFormatterTypeCustom,还需要将 characterSet 设置为你想要的字符集,例如:
_formatter.characterSet = @"iWant";
设置 limitedLength 即可:
_formatter.limitedLength = 8;
默认精确到小数点后一位,可以通过自行设置 decimalPlace:
_formatter.decimalPlace = 2;
WKTextFieldFormatter 在 MIT 许可证 下发布。