自定义收索View
2024-08-23 03:40:25
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( / WIDTH_6S_SCALE);
make.width.mas_equalTo( / WIDTH_6S_SCALE);
make.height.mas_equalTo( / HEIGHT_6S_SCALE);
}];
_searchTextFiled.layer.cornerRadius = ;
_searchTextFiled.layer.masksToBounds = YES;
[self.cancleBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(weakself.mas_centerY);
make.right.equalTo(weakself.mas_right).offset(- / WIDTH_6S_SCALE);
make.width.mas_equalTo( / WIDTH_6S_SCALE);
make.height.mas_equalTo( / 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
最新文章
- Responsive布局技巧
- call(京基填小票拍照片)
- OpenJudge计算概论-第二个重复出现的数
- Large-Scale Deployment of SharePoint Team Services
- html5--等待加载效果
- 【译】 AWK教程指南 9读取命令行上的参数
- [TYVJ] P1044 数字三角形
- iframe、flash引入
- 弹出式菜单(下拉菜单)实现——PopupMenu
- Poi2006 Palindromes
- Java实现堆排序和计数排序
- Go基础系列:nil channel用法示例
- [Python] timeit测试代码运行效率
- Delphi Setlength 内存释放总结
- C++ 动态存储空间的分配和释放 new与malloc的区别
- k8s 高级调度 亲和力和反亲和力、绑定标签、污点容忍污点
- 网络基础和python(二)
- Maven Jetty8
- layui小封装方法
- WordPress主题开发:WP_Query常用参数
热门文章
- 剑指Offer:树的子结构【26】
- UVALive - 4867 —— dp
- Eclipse配置python环境
- ssh整合 小例子
- Loadrunner进行性能测试的步骤
- Unable to create Debug Bridge:Unable to start adb server:error:cannot parse version
- idea提交新项目到远程git创库
- Win32环境下代码注入与API钩子的实现
- ubuntu16.04 + CUDA 9.0 + opencv3.3 安装
- 将List<;T>;集合用DataGridView展示