iOS自定义搜索框
如果只是在某个地方添加一个自定义的搜索框,只需要添加以下代码:
//创建搜索框对象
UITextField *searchBar=[[UITextField alloc] init];
searchBar.width=300;
searchBar.height=30;
searchBar.font=[UIFont systemFontofSize:15];
searchBar.placeholder=@"请输入搜索框";
searchBar.backgroud=[UIImage imageNamed:@"searchBar_backgoud"];
//创建搜索框内的左侧搜索标志
UIImageView *searchImage=[[UIImage alloc]init];
searchImage.image=[UIImage imageNamed:@"searchBar_image"];
searchImage.width=30; //需要给大小,否则显示不出来
searchImage.height=30;
searchImage.contentMode=UIViewContentModeCenter; //居中
//把标志放到搜索框内
searchBar.leftVIew=searchImage;
searchBar.leftViewMode=UITextFieldViewModeAlways; //标志一直会存在
[self.view addSubview:searchBar]
对于这种自定义的东西都进行封装,因为以后用到的时候不需要大量的粘贴、复制,只需要
导入头文件就可以
过程:
新建一个类SearchBar继承自UITextField
在.h文件中定义一个方法,在.m文件中实现
- (id)initWithFrame:(CGRect)frame
{
self=[super initWithFrame:frame];
if(self){
self.font=[UIFont systemFontofSize:15];
self.placeholder=@"请输入搜索框";
self.backgroud=[UIImage imageNamed:@"searchBar_backgoud"];
//创建搜索框内的左侧搜索标志
UIImageView *searchImage=[[UIImage alloc]init];
searchImage.image=[UIImage imageNamed:@"searchBar_image"];
searchImage.width=30; //需要给大小,否则显示不出来
searchImage.height=30;
searchImage.contentMode=UIViewContentModeCenter; //居中
//把标志放到搜索框内
self.leftVIew=searchImage;
self.leftViewMode=UITextFieldViewModeAlways;
}
return self;
}
+(instancetype)SearchBar
{
return [[self alloc] init];
}
在想添加搜索框的地方导入这个类
SearchBar *searchbar=[[UITextField alloc]init];
searchbar.width=300;
searchbar.height=30;
[self.view addSubview:searchbar];