2015-09-07 89 views
0

我正在使用swift语言。我有两个用户输入数据的UITextFields。这是一个序列号字段。如果用户输入123456789,我希望用户键入时显示为123-45-6789和12-3456789。这怎么可能?序列号格式

+3

看到这个链接它可以帮助你http://stackoverflow.com/questions/1246439/uitextfield-for-phone-number –

+0

这个链接是不完成我的愿望要求。因为在我的问题之前我已经看到了这个链接。如果你阅读你的链接是不同的格式,我已经尝试了这个链接中给出的代码。 –

回答

-1

这里是你如何可以格式化字符串

let serialNumber = 123456789 
let snStr = "\(123456789)" 
let nsStr = snStr as NSString 

let start = nsStr.substringWithRange(NSRange(location: 0, length: 3)) 

let end = nsStr.substringWithRange(NSRange(location: 3, length: 6)) 

let result = "\(start)-\(end)" 

enter image description here

你应该做的是创建一个实现CustomStringConvertiblePrintable根据SWIFT的版本,您正在使用的对象。

然后在您的description方法/存储的属性中,您可以将代码类似于上面的代码。当用户输入文本时,文本字段会将该属性存储在您的MVC模型中,并最终显示在视图上。视图 - 将依次调用对象的description部分并将文本呈现在屏幕上。

+0

为什么要投票? – Jeef