博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过自定义UITextField 设置 搜索框
阅读量:5931 次
发布时间:2019-06-19

本文共 1440 字,大约阅读时间需要 4 分钟。

hot3.png

UISearchBar因为不能满足项目需求进行了自定义UISearchBar

先实现功能,然后再进行封装

考虑使用UITextField进行自定义

出现了垂直方向的问题,查看UITextField的对齐方式,在UITextField的API中没有找到有关的方法,然后去其父类UIControl中查找

找到了UIControlContentVerticalAlignment属性,可以调整垂直的样式

查看UITextField的属性,有一个属性为leftView(如果没有可以考虑设置添加ImageView),设为UIImageView

需要修改leftViewMode 属性

封装后可以在其他地方使用

 

#import 
@interface HMSearchBar : UITextField+ (instancetype)searchBar;@end
#import "HMSearchBar.h"@implementation HMSearchBar- (id)initWithFrame:(CGRect)frame{    self = [super initWithFrame:frame];    if (self) {        // 设置背景        self.background = [UIImage resizedImage:@"searchbar_textfield_background"];                // 设置内容 -- 垂直居中        self.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;                // 设置左边显示一个放大镜        UIImageView *leftView = [[UIImageView alloc] init];        leftView.image = [UIImage imageWithName:@"searchbar_textfield_search_icon"];        leftView.width = leftView.image.size.width + 10;        leftView.height = leftView.image.size.height;        // 设置leftView的内容居中        leftView.contentMode = UIViewContentModeCenter;        self.leftView = leftView;                // 设置左边的view永远显示        self.leftViewMode = UITextFieldViewModeAlways;                // 设置右边永远显示清除按钮        self.clearButtonMode = UITextFieldViewModeAlways;    }    return self;}+ (instancetype)searchBar{    return [[self alloc] init];}@end

转载于:https://my.oschina.net/u/2360054/blog/496649

你可能感兴趣的文章
瘦客户机为何不瘦反胖?
查看>>
电信级虚拟化到来-【软件和信息服务】2014.04
查看>>
nmcli网卡绑定与teaming配置
查看>>
演示:取证分析IPV6组播地址的构成原理
查看>>
PowerShell-Exchange:统计每天邮件收发
查看>>
Exchange 2013部署系列之(二)先决条件
查看>>
6个技巧精准捕获百度知道问题
查看>>
Exchange server 2003迁移到2010后,手动更新地址列表,提示OAB Versions无效
查看>>
用Saltstack的modules和grains实现实时监控平台
查看>>
【统计商户24个月连续流水总月数存储过程】
查看>>
Silverlight实用窍门系列:42.读取拖动到控件上的外部txt和jpg文件,多外部文件的拖动【附带实例源码】...
查看>>
学习:java设计模式—Observer模式
查看>>
(转)使用 dom4j 解析XML
查看>>
估算,想爱你好难!- 视频分享第3弹!
查看>>
如何完美的将对话框设置成无边框无标题栏样式?
查看>>
HDU 114 Piggy-Bank
查看>>
音频基础知识及编码原理
查看>>
[转]Linux下的权限问题
查看>>
Notepad++搭建Python开发环境的一个小改进
查看>>
来自豆瓣的一个走过弯路的人(转)
查看>>