これが私がそれを達成した方法です。一から説明していきます。したがって、新しいユーザーは最初から道を譲ることができます。
ここからlibPhoneNumber-iOSライブラリをダウンロードします。そのリンクのページの下部に、プロジェクトに追加する必要があるファイルが表示されます。
バンドルは次のようになります。

それでは、以下の手順に従って実装してください。
(1)テキストフィールドをフォーマットする必要があるView Controllerにファイルをインポートします。
#import "NBPhoneMetaDataGenerator.h"
#import "NBPhoneNumberUtil.h"
#import "NBAsYouTypeFormatter.h"
ヘッダー ファイルにタイプNBAsYouTypeFormatterのインスタンスを作成します。
NBAsYouTypeFormatter *asYouTypeFormatter;
(2)そのビュー コントローラのviewDidLoadメソッドで、以前に取得したオブジェクトを初期化します。
asYouTypeFormatter = [[NBAsYouTypeFormatter alloc] initWithRegionCode:@"IN"];
注: @"IN" はインドを表します。好きなように設定できます。地域コードの完全なリストを表示するには、libPhoneNumber-iOS ライブラリに含まれる plist ファイルを参照してください。
(3) UITextField のデリゲート メソッドで、テキスト フィールドのテキストを動的に管理します。
#pragma mark
#pragma mark - Phone Number textfield formatting
# define LIMIT 18 // Or whatever you want
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
// Just allow 18 digits
if(!(([string length] + range.location) > LIMIT))
{
// Something entered by user
if(range.length == 0)
{
[textNumber setText:[self.asYouTypeFormatter inputDigit:string]];
}
// Backspace
else if(range.length == 1)
{
[textNumber setText:[self.asYouTypeFormatter removeLastDigit]];
}
}
return NO;
}
それが他の人に役立つことを願っています!!!