美文网首页
实现UITextFiled的输入字符字间距

实现UITextFiled的输入字符字间距

作者: 潇湘候晨雪 | 来源:发表于2017-08-06 15:12 被阅读56次

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

    想一下实现思路:

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

    相关文章

      网友评论

          本文标题:实现UITextFiled的输入字符字间距

          本文链接:https://www.haomeiwen.com/subject/qgnglxtx.html