13.利用UITextField制作格式化输入输出的内容

随着电子商业化发展的速度越来越快, 很多App里面都会设置有绑定某些信息的功能, 但一堆的数字容易让人眼花缭乱, 所以这里我们需要做一些优化, 比如在某几个数字之后自动加入一个空格之类的, 现在让我们来看看怎么实现吧.


1.布局界面

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.最终效果

0


好了, 这次我们就讲到这里, 下次我们继续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值