实现UITextFiled的输入字符字间距

这是从苹果官网上 登录某一界面,要我输入的一段密码数字:貌似只能从前往后输入呀!(哈哈)感觉挺好用的

想一下实现思路:

思路一:UItextFiled:  思路二:CollectionViewCell:思路三:肯定有,在想想?


实现UITextFiled的输入字符字间距_第1张图片

思路一 效果图:如上(暂定只有一个输入框,输入框太多麻烦)

回到主题:

UITextField:有一个属性名为defaultTextAttributes:是一个字典;

所以根据这个属性能给设置任意你想输入的字符串的样式:当然,前提是苹果有提供;

字符间距:苹果是有提供的,没有提供怎么办?看第二种思路:

NSKernAttributeName:就是它了:NSDictionary *attrsDictionary =@{NSFontAttributeName: textField.font,NSKernAttributeName:[NSNumber numberWithFloat:20.0f]//这里修改字符间距};

textField.defaultTextAttributes = attrsDictionary;

设置一下监听方法:在代理里面限格式, 判断个数什么的。

[self.textFd addTarget:self action:@selector(textFieldDidChange) forControlEvents:UIControlEventEditingChanged];//监听值变化方法

-(void)textFieldDidChange{

if (self.textFd.text.length > 6) 

{self.textFd.text = [self.textFd.text substringToIndex:6];}

}//次方法仅仅是取6个字符串;


1 控制UITextFild的字符输入间距:感觉没边框呀!不急(自己用UIBezierPath)画一个浅蓝色的边框,设置阴影;拿这个画好的”边框“做一个跟随光标的动画(不会连动画我也要写吧);

1.1 根据字符间,距画6个圆角矩形边框  放在TextFiled的上面:(个人觉得放在视图的中间位置为好)

2 在代理里面设置 这个TextFild字符串的长度:这个方法很多种:

3 当输入字符串达到想要的length的时候,暂时关闭textFild的响应,执行判断mima方法  返回Yes or No;

3.1 返回YES 的 的时候 自己跳界面:

4 根据返回的No 提示错误,打开响应:

思路二:UICollectionView->UICollectionViewCell:这个相对麻烦一些:定义含有6个数字的数组;自定义cell; TextFild;不过这个可以随意插入数字到任意位置;下回贴代码:

总结一下:苹果的东西很多已经是写好的,继承下,或者,看看.h 的英文注解,或者百度,还是能解决UI的需求的。此处主要是解决一个朋友 字符间距的问题。事后贴的;

你可能感兴趣的:(实现UITextFiled的输入字符字间距)