实现的效果图:
app.gif
首先我们来说下思路:
1.创建多个textField 进行布局分别打上标签tag,将textField 添加到一个数组中 为了最后获取输入的验证码
2.在textFieldDidChange通知方法中进行判断 输入一个数字之后 将下一个textField 变成第一响应者,在这个方法中 有个很重要的判断 就是 当textField.text.length 为空时 手动赋值一个空格(@" ")字符串 然后根据这个空格字符串进行判断是否是删除一个数字,代码如下
textFieldDidChange 通知方法
3.在textField代理 shouldChangeCharactersInRange 方法中进行判断textField操作之前数据是字符串空格 并且操作之后textField.text为空 说明是删除了一个数字 则选中前一个textField。
shouldChangeCharactersInRange 代理方法
然后有一个问题就是不让用户手动选中textField 我的做法是在每个textField上面 创建了一个透明的Label 然后设置label.userInteractionEnabled = YES 代码
网友评论