随着电子商业化发展的速度越来越快, 很多App里面都会设置有绑定某些信息的功能, 但一堆的数字容易让人眼花缭乱, 所以这里我们需要做一些优化, 比如在某几个数字之后自动加入一个空格之类的, 现在让我们来看看怎么实现吧.
1.布局界面
2.实现代码
首先我们需要绑定UITextField, 以及设置UITextField的代理.
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
textField.delegate = self
}
}
自定义我们格式化输入输出的内容
// 自定义方法
func bankFormatString(string: NSString) -> String {
// 1.获取
var varStr = string
// 2.设置位置
var range = NSMakeRange(0, 4)
// 3.获取内容的位置
var location = range.location + range.length;
// 4.循环, 如果传入进来的内容大于自定义的位置就执行
while (varStr.length > location) {
// 4.1.在设置好的位置插入固定的字符
varStr = varStr.stringByReplacingCharactersInRange(NSMakeRange(location, 0), withString: " ")
// 4.2.随时更新位置
location += 5
}
// 5.返回设置好的字符串
return varStr as String
}
实现UITextField的代理方法
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
// 1.获取
var oldStr:NSString = textField.text
// 2.插入新的字符
oldStr = oldStr.stringByReplacingCharactersInRange(range, withString: string) println("\(oldStr)")
// 3.删除空格
oldStr = oldStr.stringByReplacingOccurrencesOfString(" ", withString: "") println("oldStr = \(oldStr)")
// 4.调用已经设置好的方法
textField.text = bankFormatString(oldStr) println("\(textField.text)")
return false
}
3.最终效果
好了, 这次我们就讲到这里, 下次我们继续