美文网首页ios
UITextField不同状态下外观不同的思路

UITextField不同状态下外观不同的思路

作者: 志城 | 来源:发表于2017-03-23 11:46 被阅读8次

先看效果图

编辑状态下和普通状态下的TextField
  • 是不是觉得很眼熟,经常做这种吧。给大家提供一个思路,一般这种我们需要造一个轮子,方便使用。是时候分析一波了:可以看到有2种类型的输入框,第一种右边带有图片的,第二种右边不带图片的。所以造轮子的时候要考虑进去。最好提供2种初始化的方法。但是最终走的都是同一个方法,只是参数有所不同而已(参见OC的工厂模式)。
  • 同时每一个输入框在编辑状态下和普通状态下有显著的不同-边框颜色,右侧图片(如果有右侧图片)都发生了变化。最开始考虑使用代理来监测输入框的输入状态,根据不同的代理方法的状态来改变输入框的外观。但是转念一想似乎不妥,如果外界需要代理呢?难不成代理可以设置为2个对象?我感觉行不通。
  • 于是就想到了这个东西
- (BOOL)becomeFirstResponder;
- (BOOL)resignFirstResponder

我们完全可以重写这2个方法啊。
于是得到了下面的代码,完美解决需求。

- (BOOL)becomeFirstResponder
{
    if (self.borderColorForEditing) {
        self.layer.borderColor = _borderColorForEditing.CGColor;
    }
    if (self.rightImageForEditing) {
        [self setRightImageViewForState:UIControlStateFocused];
    }
    return [super becomeFirstResponder];
}
- (BOOL)resignFirstResponder
{
    if (self.borderColorForNormal) {
        self.layer.borderColor = _borderColorForNormal.CGColor;
    }
    if (self.rightImageForNormal) {
        [self setRightImageViewForState:UIControlStateNormal];
    }
    return [super resignFirstResponder];
}
  • 顺便提一下:输入框左侧的文字长度不一致,但要求左右对齐,中间留空,那么可以取巧使用中文的全角打一个或多个空格达到这个效果,当然遇到用这种方式也解决不了的,可以使设置字间距,但是字间距我用过有一些问题,就是最后一个文字没有在最右侧,和容器的最右侧有一定的间距,目前还没找到解决办法。如果哪位仁兄有好的思路,还请不吝赐教!

相关文章

  • UITextField不同状态下外观不同的思路

    先看效果图 是不是觉得很眼熟,经常做这种吧。给大家提供一个思路,一般这种我们需要造一个轮子,方便使用。是时候分析一...

  • Android自定义控件在不同状态下的属性

    在写代码的时候,有时候需要控件在不同状态下显示不同的外观,比如在按钮按下的时候要变颜色,EditText获取焦点时...

  • 不同的方式,不同的思路

    不同的方式,不同的思路 一 家人一起吃饭。还有几个丸子吃不完。妈妈征求每一个人的意见,是不是再吃一点丸子。大家都乐...

  • 不同的思路

    刚才在和一个客户谈心,谈孩子,谈教育,谈未来,他的孩子是个男孩,他觉得孩子离不开她,他想让孩子在学校住读,但...

  • UITextField明文密文切换问题

    1、使用UITextField设置了明文和密文切换方法后,从密文切到明文时回出现因为两者状态下字符串长度不同...

  • 开不同的车思路也不同

    有一天下班回家的路上,某人和我说了这样的一句话,开不同的车,思考的事情就会不同。开货车与小轿车走的道有时候都会不同...

  • 该如何挑选适合自己家的智能晾衣机呢?

    外观 相信很多时候,外观对于购买者来说都是一个非常重要的考量因素。根据个人的审美不同,选择不同造型,不同颜色,不同...

  • 众里寻它千百度,智能晾衣机,独爱这一款

    外观 相信很多时候,外观对于购买者来说都是一个非常重要的考量因素。根据个人的审美不同,选择不同造型,不同颜色,不同...

  • UIKit - UISwitch

    修改不同状态下的颜色

  • 立体剪裁.课堂分享~西服

    男装和女装的区别…… 不同的体型……会有不同的造型 不同的制版方法……会有不同的外观 不同的工艺制作……会有不同的细节

网友评论

    本文标题:UITextField不同状态下外观不同的思路

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