- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IOS 生成本地验码(烟台杰瑞教育IOS培训部原创)
HYPERLINK / 烟台杰瑞教育科技有限公司( HYPERLINK / IOS开发培训部) 版权所有
------ HYPERLINK / 杰瑞教育( HYPERLINK ) 专注IT技能培训 打造一流 HYPERLINK / 人才服务平台------
IOS 生成本地验证码
在应用程序注册、登陆或者有关支付确认的界面,经常会用到验证码,验证码有的是通过手机发送获取的,有的是在本地点击获取的,通过手机发送获取的动态验证码可以使用第三方类库实现,本地点击获取的是在本地自己绘制的,下面我们来详细讲解一下本地生成动态验证码的过程。
?
一导入CoreGraphics.framework
二验证码封装了一个UIView,在使用的时候直接把这个View加到界面上使用
CaptchaView.h
#import UIKit/UIKit.h
@interface CaptchaView : UIView
@property (nonatomic, retain) NSArray *changeArray; //字符素材数组
@property (nonatomic, retain) NSMutableString *changeString; //验证码的字符串
@end
CaptchaView.m
#import CaptchaView.h
#define kRandomColor [UIColor colorWithRed:arc4random() % 256 / 256.0 green:arc4random() % 256 / 256.0 blue:arc4random() % 256 / 256.0 alpha:1.0];
#define kLineCount 6
#define kLineWidth 1.0
#define kCharCount 6
#define kFontSize [UIFont systemFontOfSize:arc4random() % 5 + 15]
@implementation CaptchaView
@synthesize changeString,changeArray;
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
self.layer.cornerRadius = 5.0; //设置layer圆角半径
self.layer.masksToBounds = YES; //隐藏边界
self.backgroundColor = kRandomColor;
//显示一个随机验证码
[self changeCaptcha];
}
return self;
}
#pragma mark 更换验证码,得到更换的验证码的字符串
-(void)changeCaptcha
{
//一从字符数组中随机抽取相应数量的字符,组成验证码字符串
//数组中存放的是全部可选的字符,可以是字母,也可以是中文
self.changeArray = [[NSArray alloc] initWithObjects:@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@A,@B,@C,@D,@E,@F,@G,@H,@I,@J,@K,@L,@M,@N,@O,@P,@Q,@R,@S,@T,@U,@V,@W,@X,@Y,@Z,@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,@m,@n,@o,@p,@q,@r,@s,@t,@u,@v,@w,@x,@y,@z,@杰,@瑞,@教,@育,nil];
//如果能确定最大需要的容量,使用initWithCapacity:来设置,好处是当元素个数不超过容量时,添加元素不需要重新分配内存
NSMutableString *getStr = [[NSMutableString alloc] initWithCapacity:kCharCount];
self.changeString = [[NSMutableString alloc] initWithCapacity:kCharCount];
//随机从数组中选取需要个数的字符,然后拼接为一个字符串
for(int i = 0; i
您可能关注的文档
- Fayyoac永锦源人员定位系统验收标准.doc
- Fbdwoko用友证考试练习试题库(总账工资固定资产报表应收应付)文库.doc
- Feajwfy浙江业大学保持共产党员先进性教育活动.doc
- FF 现场总线技术用中值得探讨的问题.doc
- Febjlxq浙江播电视大学学前教育专业(开放专科).doc
- fff111117907_2024330201.doc
- FANUC系统的机联调_毕业设计.doc
- FIL4生产部经理位描述考核表079.doc
- Ficbxyg制造业员工培训方案探究.doc
- FCL-系列智能型缆故障测试仪说明书.doc
- IOS欢迎界面Lanch Screen动态加载广告(烟台杰瑞教育原创).docx
- IPMA-北京大学力资源管理自考-《人力资源战略与规划》考试大纲.doc
- IPMA-北京大学力资源管理自考-《工作分析与评价》考试大纲(本科).doc
- IPMA-北京大学力资源管理自考-《劳动关系与争议处理》考试大纲.doc
- IOS开发之地图导(烟台杰瑞教育IOS培训部原创).docx
- iPhone4S真辨别购机全攻略.doc
- IPTV承载网接入PPoE认证与DHCP认证对比.doc
- IOS 实现界面本化(国际化)(烟台杰瑞教育IOS培训部原创).docx
- IOS 设置圆角用头像(烟台杰瑞教育IOS培训部原创).docx
- iqzyxd全_国月高等教育自学考试政治经济学(财)试题.doc
文档评论(0)