用于数值字段格式化的格式化工具和 UITextField 类,以便在编辑时轻松使用。
您可以通过查看 AKNumericFormatterSample 项目来查看 AKNumericFormatter
的实际使用方法。
格式化器使用
NSString* numericInput = @"12345678901";
NSString* formattedInput = [AKNumericFormatter formatString:numericInput
usingMask:@"+*(***)***-**-**"
placeholderCharacter:'*'];
当然,您将得到 @"+1(234)567-89-01"
要在输入文本时实时格式化 UITextField
的输入
// Somewhere, let's say in viewDidLoad
self.textField.numericFormatter = [AKNumericFormatter formatterWithMask:@"+*(***)***-**-**"
placeholderCharacter:'*'];
是滴,这很简单,不需要子类化。
它在 iOS 5 上工作,但您需要稍作帮助。当 replacementString
参数的长度为零时,在 UITextField
委托的 shouldChangeCharactersInRange:replacementString:
方法中调用 alertDeleteBackwards
方法
#pragma mark - UITextFieldDelegate
-(BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string
{
if (string.length == 0 ) {
[self.textField alertDeleteBackwards];
}
return [super textField:textField shouldChangeCharactersInRange:range replacementString:string];
}
最佳方法是使用 CocoaPods。
如果没有安装 CocoaPods gem,请安装它并设置其环境
$ [sudo] gem install cocoapods
$ pod setup
前往包含您的项目 .xcodeproj 文件的目录并创建 Podfile
$ cd ~/Projects/MyProject
$ vim Podfile
将以下行添加到 Podfile 中
platform :ios
pod 'AKNumericFormatter'
最后安装您的 pod 依赖项
$ [sudo] pod install
就是这样,现在只需打开刚刚创建的 .xcworkspace 文件
Aleksey Kozhevnikov