iOS如何生成图片验证码
1、自定义ImageCodeView继承于UIView,在.h里面定义图片验证码生成方法以及验证码生成之后的回调block,方便做验证码验证,如下:
2、生成的验证码为数字加字母的形式,在ImageCodeView.m中定义一个数组arrCode专门用作生成随机数的数据源,定义strCode保存生成的随机数,定义viewImageCode用辑湃形傥作显示背景,具体如下:
3、refreshImageCode方法的实现,是每次调用时重置上次生成的随机数,然后使用for循环生成指定长度的随机验证码,同时将验证码用block回调到需要用的位置处,具体实现如下:
4、在验证码具体生成的方法createImageCode里面,首先生成显示验证码的背景视图,视图在创建之前需要将上次生成的先进行移除,初始化之后设置背景颜色为随机色,具体如下:
5、在上一步中生成了随机的背景颜色之后,然后创建label将生成的随机验证码显示在背景视图上,根据需求可以进行一定程度的旋转,具体实现如下:
6、验证码显示在背景视图上之后,最后生成一定数量不同颜色的线条加在背景视图上,使得背景视图更像一张图片而不是单一的颜色,生成方刮茕栓双法使用贝尔曲线UIBezierPath + CAShapeLayer的形式设置背景视图的图层,具体实现如下:
7、使用时候在指定视图或者控制器导入ImageCodeView.h头文件,然后初始化类同时设置显示区域,调用刷新视图可以进行刷新,实现block可以获取到生成的验证码,示例和最终效果如下:
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。