这是从苹果官网上 登录某一界面,要我输入的一段密码数字:貌似只能从前往后输入呀!(哈哈)感觉挺好用的
想一下实现思路:
思路一: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的需求的。此处主要是解决一个朋友 字符间距的问题。事后贴的;
网友评论