实现UITextFiled的输入字符字间距

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

想一下实现思路:

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


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

回到主题:

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的需求的。此处主要是解决一个朋友 字符间距的问题。事后贴的;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容