我正在使用Swift创建一个iPhone应用程序。我正在尝试设置一个文本字段,用户可以输入一个自动格式化的电话号码,就像输入内置的联系人应用程序一样。我希望xcode有内置的方法来做到这一点。
作为替代方案,我创建了自己的代码,可以在用户输入和退格时添加和删除括号,短划线等,但如果用户要将光标移动到输入文本的末尾,这很快就会出现问题。在“联系人”应用程序中,如果光标在括号后面移动并且用户点击退格,则它不仅会删除括号,还会删除它前面的数字。我不确定这是用一些内置的格式化方法完成的,或者是否有代码复制了用括号,短划线等删除的文本,并读取了光标的位置,然后计算新字符串应该是什么,并添加新的括号,破折号等。
具体来说,我想知道:
1)是否有内置方法将文本格式设置为与“联系人”应用程序中完全相同的电话号码?
2)如果没有内置方法,有人能告诉我如何在光标位置读取Swift吗?
谢谢!
答案 0 :(得分:2)
没有内置方法可以做到这一点。以下是使用UITextField
的{{1}}方法的一种实现:
shouldChangeCharactersInRange