菜鸟教程小白 发表于 2022-12-13 08:56:20

iphone - 如何使用 PhoneNumberFormatter 类在 UITextField 中格式化电话号码?


                                            <p><p>我一直在这里查看一堆关于尝试将 UITextField 自动格式化为电话号码的线程。我看到了 Ahmed Abdelkader 的 PhoneNumberFormatter 类的链接 (<a href="http://the-lost-beauty.blogspot.com/2010/01/auto-formatting-phone-number.html" rel="noreferrer noopener nofollow">http://the-lost-beauty.blogspot.com/2010/01/auto-formatting-phone-number.html</a>)</p>

<p>但我不明白如何实际实现它。我有两个要与该类一起使用的 UITextField,在一个表单中与许多其他 UITextField 一起用于其他目的。 </p>

<p>艾哈迈德的例子是:</p>

<pre><code>UITextField *myTextField;
int myTextFieldSemaphore;
PhoneNumberFormatter *myPhoneNumberFormatter;
NSString *myLocale; //@&#34;us&#34;

//init semaphore
myTextFieldSemaphore = 0;

//bind events
[myTextField addTarget:self
                action:@selector(autoFormatTextField:)
      forControlEvents:UIControlEventEditingChanged
];

//handle events
- (void)autoFormatTextField:(id)sender {
if(myTextFieldSemaphore) return;
myTextFieldSemaphore = 1;
myTextField.text = ;
myTextFieldSemaphore = 0;
}
</code></pre>

<p>我不确定将上面的代码放在哪里,或者如何在我的属性中而不是他的变量中子。到目前为止,我只能让文本字段拒绝输入:/- 有没有人有这个类的更完整实现的例子?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>只需将此代码放在实现 <code>UITextFieldDelegate</code> 的类中。 myTextField 应该替换为您的 <code>UITextField</code> 实例。您应该获取设备的当前语言环境,而不是使用 myLocale。并且 <code>PhoneNumberFormatter</code> 可以在使用后分配和释放。 </p>

<pre><code>- (void)autoFormatTextField:(id)sender
{
   if(myTextFieldSemaphore) return;
         myTextFieldSemaphore = 1;

   PhoneNumberFormatter* phoneNumberFormatter = [ init];
   myTextField.text = localeIdentifier]];
   ;
   myTextFieldSemaphore = 0;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 如何使用 PhoneNumberFormatter 类在 UITextField 中格式化电话号码?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/7184094/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/7184094/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 如何使用 PhoneNumberFormatter 类在 UITextField 中格式化电话号码?