• 自定义TextField的删除按钮


    自定义TextField的删除按钮

     

    #import <UIKit/UIKit.h>

     

    @interface CustomTextField : UITextField

     

    @property(strong,nonatomic)NSString * alwaysShowStr;

     

    @end

     

     

    @interface CustomTextField ()

    {

        UIButton * _button;

    }

    @end

     

    @implementation CustomTextField

     

    - (id)initWithFrame:(CGRect)frame

    {

        self = [super initWithFrame:frame];

        if (self) {

            // Initialization code

        }

        return self;

    }

     

     

    - (void)drawRect:(CGRect)rect

    {

        // Drawing code

        

        self.layer.borderWidth = 1.0;

        self.layer.borderColor = [UIColor lightGrayColor].CGColor;

        

        UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];

        self.leftView = view;

        self.leftViewMode = UITextFieldViewModeAlways;

        

        _button = [UIButton buttonWithType:UIButtonTypeCustom];

        _button.frame = CGRectMake(0, 0, 40, 40);

        [_button addTarget:self action:@selector(deleteSelfText) forControlEvents:UIControlEventTouchUpInside];

        [_button setImage:[UIImage imageNamed:@"delete.png"] forState:UIControlStateNormal];

        _button.imageEdgeInsets = UIEdgeInsetsMake(13,18,13,8);

        UIView * rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];

        [rightView addSubview:_button];

        self.rightView = rightView;

        self.rightViewMode = UITextFieldViewModeAlways;

        _button.hidden = YES;

        [self addTarget:self action:@selector(textHadLength) forControlEvents:UIControlEventAllEvents];

    }

     

    -(void)deleteSelfText{    

        self.text = _alwaysShowStr;

        if (!_alwaysShowStr) {

             _button.hidden = YES;

        }

    }

     

    -(void)textHadLength

    {

        if (self.text.length>=1) {

            _button.hidden = NO;

        }else{

            _button.hidden = YES;

        }

      if (!self.editing) {

            _button.hidden = YES;

        }

    }

     

    -(CGRect)rightViewRectForBounds:(CGRect)bounds

    {

        return CGRectMake(self.width-40, 0, 40, 40);

    }

     

    /*

    // Only override drawRect: if you perform custom drawing.

    // An empty implementation adversely affects performance during animation.

    - (void)drawRect:(CGRect)rect

    {

        // Drawing code

    }

    */

     

    @end

  • 相关阅读:
    12. nc/netcat 用法举例
    7. 由一道ctf学习变量覆盖漏洞
    11. 几点基于Web日志的Webshell检测思路
    约瑟夫环
    栈结构的经典算法题
    二叉查找树之二
    fork与vfork
    数组常见算法题
    赛马问题
    fibonacci 数列及其应用
  • 原文地址:https://www.cnblogs.com/tianlin106/p/3928686.html
Copyright © 2020-2023  润新知