TextField作为搜索框的使用

在iOS开发中我们经常会使用到搜索框,但是有的时候系统自带的搜索框不足以满足我吗想要的功能,这个时候我们就可以使用自定义的搜索框实现想要的功能。

今天就简单的介绍一下怎么去使用UITextField实现一个搜索框,当然如果你有更好的方法也可以分享出来,大家相互学习。

一:直接使用

 UITextField *text = [[UITextField alloc] init];
     text.frame = CGRectMake(, , , );
     text.background = [UIImage resizeImage:@"searchbar_textfield_background"];
     //文字垂直居中
     text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
     //搜索图标
     UIImageView *view = [[UIImageView alloc] init];
     view.image = [UIImage resizeImage:@"searchbar_textfield_search_icon"];
     view.frame = CGRectMake(, , , );
     //左边搜索图标的模式
     view.contentMode = UIViewContentModeCenter;
     text.leftView = view;
     //左边搜索图标总是显示
     text.leftViewMode = UITextFieldViewModeAlways;
     //右边删除所有图标
     text.clearButtonMode = UITextFieldViewModeAlways;

     self.navigationItem.titleView = text;

二:封装

  //初始化
         /**
          *  使用TextField实现搜索框功能封装
          */
         //设置字体大小
         self.font = [UIFont systemFontOfSize:];
         //设置提示文字
         self.placeholder = @"请输入搜索条件";
         //设置文本框的背景图片(使用分类实现拉伸效果)
         self.background = [UIImage resizeImage:@"searchbar_textfield_background"];
         //文字垂直居中
         self.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
         //搜索图标
         UIImageView *view = [[UIImageView alloc] init];
         //设置图片控制器的的图片
         view.image = [UIImage resizeImage:@"searchbar_textfield_search_icon"];
         //设置图片的frame
         view.width = ;
         view.height = ;
         //左边搜索图标的模式
         view.contentMode = UIViewContentModeCenter;
         self.leftView = view;
         //左边搜索图标总是显示
         self.leftViewMode = UITextFieldViewModeAlways;
         //右边删除所有图标
         self.clearButtonMode = UITextFieldViewModeAlways;

/**使用一:
     *  使用封装好的SearchBar
     */

     iCocosSearchBar *searchbar = [iCocosSearchBar searchBar];
     searchbar.width = ;
     searchbar.height = ;
     self.navigationItem.titleView = searchbar;

/**使用二
     *  使用封装好的SearchBar
     */

    iCocosSearchBar *searchbar = [iCocosSearchBar searchBar];
     searchbar.width = ;
     searchbar.height = ;
     [self.view addSubview:searchbar];
 

iOS开发——UI篇OC篇&TextField作为搜索框的使用的更多相关文章

  1. iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

    UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...

  2. iOS开发——UI高级OC篇&自定义控件之调整按钮中子控件(图片和文字)的位置

    自定义控件之调整按钮中子控件(图片和文字)的位置 其实还有一种是在storyBoard中实现的,只需要设置对应空间的左右间距: 这里实现前面两种自定义的方式 一:imageRectForContent ...

  3. iOS开发——网络实用技术OC篇&网络爬虫-使用青花瓷抓取网络数据

    网络爬虫-使用青花瓷抓取网络数据 由于最近在研究网络爬虫相关技术,刚好看到一篇的的搬了过来! 望谅解..... 写本文的契机主要是前段时间有次用青花瓷抓包有一步忘了,在网上查了半天也没找到写的完整的教 ...

  4. ios开发——实用技术篇OC篇&iOS的主要框架

    iOS的主要框架         阅读目录 Foundation框架为所有的应用程序提供基本系统服务 UIKit框架提供创建基于触摸用户界面的类 Core Data框架管着理应用程序数据模型 Core ...

  5. iOS开发——高级技术OC篇&运行时(Runtime)机制

    运行时(Runtime)机制 本文将会以笔者个人的小小研究为例总结一下关于iOS开发中运行时的使用和常用方法的介绍,关于跟多运行时相关技术请查看笔者之前写的运行时高级用法及相关语法或者查看响应官方文档 ...

  6. iOS开发——运行时OC篇&使用运行时获取系统的属性:使用自己的手势修改系统自带的手势

    使用运行时获取系统的属性:使用自己的手势修改系统自带的手势 有的时候我需要实现一个功能,但是没有想到很好的方法或者想到了方法只是那个方法实现起来太麻烦,一或者确实为了装逼,我们就会想到iOS开发中最牛 ...

  7. iOS开发——网络实用技术OC篇&网络爬虫-使用java语言抓取网络数据

    网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一 ...

  8. iOS开发——新特性OC篇&IOS9 SDK新特性

    iOS9 SDK新特性 WWDC 2015苹果开发者大会是移动开发者一年一度的盛会,InfoQ中文站除了第一时间整理Keynote内容分享给大家之外,还邀请了资深的一线开发者分享他们的收获.本文为王巍 ...

  9. iOS开发——网络编程OC篇&Socket编程

    Socket编程 一.网络各个协议:TCP/IP.SOCKET.HTTP等 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作 ...

  10. iOS开发——网络编程OC篇&使用WebView构建HyBird应用

    使用WebView构建HyBird应用 HyBird是一种本地技术与Web相结合,能过实现跨平台的移动应用开发,最常用的一个框架:PhoneGap 一:首先,写好html代码 <!DOCTYPE ...

随机推荐

  1. Hadoop中OutputFormat解析

    一.OutputFormat OutputFormat描述的是MapReduce的输出格式,它主要的任务是: 1.验证job输出格式的有效性,如:检查输出的目录是否存在. 2.通过实现RecordWr ...

  2. longest common str

    #include <vector> #include <iostream> #include <string> using namespace std; int l ...

  3. 试验笔记 - Eclipse的.class反编译插件

    常用的反编译工具有: JAD Java Decompiler Download Mirror(?) http://varaneckas.com/jad/ JadClipse (较好) http://j ...

  4. 提取数字、英文、中文、过滤重复字符等SQL函数(含判断字段是否有中文)

    --SQL 判断字段值是否有中文 create  function  fun_getCN(@str  nvarchar(4000))    returns  nvarchar(4000)      a ...

  5. 解决虚拟机ssh连接出错connection refused

    在安装操作系统之后,使用ssh连接,发现直接报错connection refused. 检查虚拟机的连接方式,在使用host only的方式的时候,必须接入网线,不然的网卡是不活动的,从而不能使用ss ...

  6. redo文件三

    switch logfile是一种昂贵的操作,在进行日志切换的时候,是不允许生成新的redo信息 在前台进程生成redo日志信息的时候,此时redo buffer已经分配了空间,并且在当前的redo日 ...

  7. (转载)OC学习篇之---概述

    前言 终于开启了OC的学习篇了,之前由于工作上的事,学习就一直搁浅了,不过最近由于各种原因,感觉必须要开启iOS的开发旅程了,不然就老了.因为之前一直是做Android的,所以学习iOS来就没那么费劲 ...

  8. 纯css3鼠标经过图片显示描述特效

    http://***/Article/5582 今天给大家带来的是用css3技术实现鼠标经过图片,显示图片描述的动画效果.鼠标经过图片时,图片动画缩小并渐变显示描述.我们一起看看效果图: 在线预览   ...

  9. HDU-4749 Parade Show KMP算法 | DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4749 题意:给两个串S和P,求S串中存在多少个与P串的大小关系一样的串. 因为数字的范围是1<= ...

  10. Handler笔记

    5.Handler内存泄露 在一个Activity里面,如果没有静态地创建一个Handler,有可能导致内存泄露. 因为Hander和Looper绑定,如果looper的MessageQueue有消息 ...