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];

原文地址:https://www.cnblogs.com/ITliufei/p/Customsearchbox.html