您的位置:首页 > 移动开发 > IOS开发

iOS开发 - 圆形验证码(或密码)输入框的封装

2017-08-08 11:39 661 查看
项目中用到了圆形验证码输入框,输入框之间要求有一定的距离,UI图如下:



上面的UI图主要有以下几个要求:

输入框为圆形

输入框之间有适当距离

输入框颜色在输入文本时有变化

刚开始想着用固定的几个 UITextField 实现,但转念一想,用 UITextField 实现有点麻烦(输入框多的话,它们之间的响应事件不太容易控制,需要来回变换),于是开始想其它办法,最后用了以下的思路:

创建一个 UITextField,用 UILabel 显示 UITextField 上输入的数字,需要监听文本的输入,同时对 UILabel 进行一些操作,再用 block 将输入的文本传出来。

封装的圆形输入框主要实现了以下功能:输入框的数量、距离、颜色、大小等都可以自行设定,用起来也很方便,只需以下几行代码即可:

NNValidationCodeView *view = [[NNValidationCodeView alloc] initWithFrame:CGRectMake(80, 100, 300, 45) andLabelCount:4 andLabelDistance:10];
[self.view addSubview:view];
view.changedColor = [UIColor yellowColor];
view.codeBlock = ^(NSString *codeString) {
NSLog(@"验证码:%@", codeString);
};


这是 demo 的效果图:





由于代码很容易看懂,另外代码中也写了注释,因此这里不再对项目做过多的陈述,这是 demo地址,需要的话可以拿去借鉴,有什么不足之处希望能留下宝贵意见或建议!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐