项目中用到了圆形验证码输入框,输入框之间要求有一定的距离,UI图如下:
- 上面的UI图主要有以下几个要求:
- 输入框为圆形
- 输入框之间有适当距离
- 输入框颜色在输入文本时有变化
刚开始想着用固定的几个 UITextField 实现,但转念一想,用 UITextField 实现有点麻烦(输入框多的话,它们之间的响应事件不太容易控制,需要来回变换),于是开始想其它办法,最后用了以下的思路:
- 创建一个 UITextField,用 UILabel 显示 UITextField 上输入的数字,需要监听文本的输入,同时对 UILabel 进行一些操作,再用 block 将输入的文本传出来。
封装的圆形输入框主要实现了以下功能:输入框的数量、距离、颜色、大小等都可以自行设定,用起来也很方便,只需以下几行代码即可:
NNValidationCodeView *view = [[NNValidationCodeView alloc] initWithFrame:CGRectMake(