Skip to content

fjswhl/AKNumericFormatter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AKNumericFormatter

Formatter for numerical fields and UITextField category to use it easily while editing.

Usage

You can look at AKNumericFormatterSample project to see AKNumericFormatter in action.

Formatter usage:

NSString* numericInput = @"12345678901";
NSString* formattedInput = [AKNumericFormatter formatString:numericInput
                                                  usingMask:@"+*(***)***-**-**"
                                       placeholderCharacter:'*'];

Of course you will get @"+1(234)567-89-01"

To format UITextField's input on-the-fly while the text is being entered:

// Somewhere, let's say in viewDidLoad
self.textField.numericFormatter = [AKNumericFormatter formatterWithMask:@"+*(***)***-**-**"
                                                   placeholderCharacter:'*'];

Yep, it's easy and no subclassing.

###iOS 5 Compatibility

It's working on iOS 5, but you should help it a little bit. Call alertDeleteBackwards method in your UITextField delegate's shouldChangeCharactersInRange:replacementString: method when replacementString parameter has zero length:

#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];
}

Installation

The best approach is to use CocoaPods.

Install CocoaPods gem if it's not installed yet and setup its enviroment:

$ [sudo] gem install cocoapods
$ pod setup

Go to the directory containing your project's .xcodeproj file and create Podfile:

$ cd ~/Projects/MyProject
$ vim Podfile

Add the following lines to Podfile:

platform :ios
pod 'AKNumericFormatter'

Finally install your pod dependencies:

$ [sudo] pod install

That's all, now open just created .xcworkspace file

Contact

Aleksey Kozhevnikov

About

Formatter for numerical fields and UITextField category to use it easily while editing.

Resources

License

Stars

Watchers

Forks

Packages

No packages published