• 自定义收索View


    1 .h文件

    @interface SearchNavView : UIView
    @property (nonatomic, copy) void(^cancleBtnBlock)(void);
    @property (nonatomic, copy) void(^textFiledEditingBlock)(NSString *contentStr);
    @end

    2 .m文件

    #import "SearchNavView.h"
    @interface SearchNavView()<UITextFieldDelegate>
    @property (nonatomic, strong) UITextField *searchTextFiled;
    @property (nonatomic, strong) UIButton *cancleBtn;
    @end
    
    @implementation SearchNavView
    
    - (instancetype)initWithFrame:(CGRect)frame
    {
        if (self = [super initWithFrame:frame]) {
            [self addSubview:self.searchTextFiled];
            [self addSubview:self.cancleBtn];
            _searchTextFiled.delegate = self;
        }
        return self;
    }
    - (void)layoutSubviews
    {
        [super layoutSubviews];
        __weak typeof(self)weakself = self;
        [self.searchTextFiled mas_makeConstraints:^(MASConstraintMaker *make) {
            make.centerY.equalTo(weakself.mas_centerY);
            make.left.equalTo(weakself.mas_left).offset(10 / WIDTH_6S_SCALE);
            make.width.mas_equalTo(280 / WIDTH_6S_SCALE);
            make.height.mas_equalTo(30 / HEIGHT_6S_SCALE);
        }];
        _searchTextFiled.layer.cornerRadius = 15;
        _searchTextFiled.layer.masksToBounds = YES;
        [self.cancleBtn mas_makeConstraints:^(MASConstraintMaker *make) {
            make.centerY.equalTo(weakself.mas_centerY);
            make.right.equalTo(weakself.mas_right).offset(-10 / WIDTH_6S_SCALE);
            make.width.mas_equalTo(50 / WIDTH_6S_SCALE);
            make.height.mas_equalTo(30 / HEIGHT_6S_SCALE);
        }];
    }
    #pragma mark -UITextFieldDelegate
    - (void)textFieldDidEndEditing:(UITextField *)textField
    {
        if (self.textFiledEditingBlock) {
            self.textFiledEditingBlock(self.searchTextFiled.text);
        }
    }
    #pragma mark - event
    - (void)cancleBtnAction
    {
        if (self.cancleBtnBlock) {
            self.cancleBtnBlock();
        }
    }
    #pragma mark - init
    - (UITextField *)searchTextFiled
    {
        if (!_searchTextFiled) {
            _searchTextFiled = [[UITextField alloc]init];
            _searchTextFiled.backgroundColor = getColor(bgColor);
            _searchTextFiled.font = DEF_FontSize_14;
            _searchTextFiled.textColor = getColor(textColor);
            _searchTextFiled.textAlignment = NSTextAlignmentCenter;
            _searchTextFiled.placeholder = @"请输入搜索关键词";
        }
        return _searchTextFiled;
    }
    - (UIButton *)cancleBtn
    {
        if (!_cancleBtn) {
            _cancleBtn = [[UIButton alloc]init];
            _cancleBtn.backgroundColor = [UIColor clearColor];
            [_cancleBtn setTitleColor:getColor(textColor) forState:UIControlStateNormal];
            _cancleBtn.titleLabel.font = DEF_FontSize_14;
            [_cancleBtn setTitle:@"取消" forState:UIControlStateNormal];
            [_cancleBtn addTarget:self action:@selector(cancleBtnAction) forControlEvents:UIControlEventTouchUpInside];
        }
        return _cancleBtn;
    }
    @end
  • 相关阅读:
    Quartz 多个触发器
    Java获取一个路径下指定后缀名的所有文件
    Dom4J对XML的创建、修改、删除等操作
    struts2的json-default和struts-default的区别
    在JSP页面中输出JSON格式数据
    jbpm4.4 demo3
    jbpm4.4 demo2
    jbpm4.4 demo1
    十六进制字符串操作
    如何使用C#操作WinAPI
  • 原文地址:https://www.cnblogs.com/dujiahong/p/8328557.html
Copyright © 2020-2023  润新知