iOS中UISearchBar(搜索框)使用总结(一)

简介: iOS中UISearchBar(搜索框)使用总结

iOS中UISearchBar(搜索框)使用总结


初始化:UISearchBar继承于UIView,我们可以像创建View那样创建searchBar


   UISearchBar * bar = [[UISearchBar alloc]initWithFrame:CGRectMake(20, 100, 250, 40)];

   [self.view addSubview:bar];

@property(nonatomic)        UIBarStyle              barStyle;


这个属性可以设置searchBar的搜索框的风格,枚举如下:


typedef NS_ENUM(NSInteger, UIBarStyle) {

   UIBarStyleDefault          = 0,//默认风格 白色搜索框,多出的背景为灰色

   UIBarStyleBlack            = 1,//黑色风格,黑色的搜索框

   //下面两个枚举已经被禁用,作用和黑色风格一样

   UIBarStyleBlackOpaque      = 1, // Deprecated. Use UIBarStyleBlack

   UIBarStyleBlackTranslucent = 2, // Deprecated. Use UIBarStyleBlack and set the translucent property to YES

};


@property(nonatomic,copy)   NSString               *text;


设置搜索框中的文字



@property(nonatomic,copy)   NSString               *prompt;


这个属性的官方解释是在搜索框顶部显示一行文字,其实就是背景文字,上图说明:


  bar.prompt = @"搜索框";

  bar.text=@"321111111111111111111111111"

效果如下:


image.png



@property(nonatomic,copy)   NSString               *placeholder;  


和其他文本输入控件的placeholder相同,在输入文字时就会消失


@property(nonatomic)        BOOL                    showsBookmarkButton;


是否在搜索框右侧显示一个图书的按钮,默认为NO,YES的效果如下:


image.png


@property(nonatomic)        BOOL                    showsCancelButton;


是否显示取消按钮,默认为NO,YES的效果如下:


image.png


@property(nonatomic)        BOOL                    showsSearchResultsButton;


是否显示搜索结果按钮,默认为NO,YES效果如下:


image.png



@property(nonatomic, getter=isSearchResultsButtonSelected) BOOL searchResultsButtonSelected ;


设置搜索结果按钮的选中状态


- (void)setShowsCancelButton:(BOOL)showsCancelButton animated:(BOOL)animated;


设置显示取消按钮


@property(nonatomic,retain) UIColor *tintColor;


设置这个颜色值会影响搜索框中的光标的颜色



@property(nonatomic,retain) UIColor *barTintColor;


设置这个颜色会影响搜索框的背景颜色



@property (nonatomic) UISearchBarStyle searchBarStyle;


设置搜索框整体的风格,枚举如下:


typedef NS_ENUM(NSUInteger, UISearchBarStyle) {

   UISearchBarStyleDefault,    // currently UISearchBarStyleProminent

   UISearchBarStyleProminent,  // 显示背景

   UISearchBarStyleMinimal     // 不显示背景

} NS_ENUM_AVAILABLE_IOS(7_0);


@property(nonatomic,assign,getter=isTranslucent) BOOL translucent;


设置是否半透明


@property(nonatomic)      BOOL       showsScopeBar ;


是否显示搜索栏的附件选择按钮试图,要想显示这个试图,首先要将这个属性设置为YES,之后给按钮数组中添加按钮,使用下面这个属性:


@property(nonatomic,copy) NSArray   *scopeButtonTitles ;


设置选择按钮试图的按钮标题


@property(nonatomic)      NSInteger  selectedScopeButtonIndex;


设置一个默认的选中按钮


   bar = [[UISearchBar alloc]initWithFrame:CGRectMake(20, 100, 250, 200)];

   bar.showsScopeBar=YES;

   bar.scopeButtonTitles = @[@"12",@"2",@"3",@"4"];

image.png


@property (nonatomic, readwrite, retain) UIView *inputAccessoryView;


键盘的附属试图


@property(nonatomic,retain) UIImage *backgroundImage;


设置搜索框的背景图案


@property(nonatomic,retain) UIImage *scopeBarBackgroundImage;


设置附属选择按钮视图的背景图案



- (void)setBackgroundImage:(UIImage *)backgroundImage forBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics ;  


- (UIImage *)backgroundImageForBarPosition:(UIBarPosition)barPosition barMetrics:(UIBarMetrics)barMetrics


这一对方法可以设置和获取某个状态枚举下的搜索框的背景图案





目录
相关文章
|
存储 缓存 算法
iOS 常见触发离屏渲染场景及优化方案总结
iOS 常见触发离屏渲染场景及优化方案总结
1523 0
iOS 常见触发离屏渲染场景及优化方案总结
|
自然语言处理 iOS开发 C++
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
本文总结提炼了Alibaba.com App的瘦身的技术和策略,系统化地介绍APP瘦身的业务价值、分析技术、瘦身技术、防劣化机制,让读者可以系统化地了解APP瘦身的技术体系。并基于实践经验,介绍各种瘦身技术的ROI,让读者可以避免踩雷,将资源浪费在效果不佳的技术上。希望对你有所帮助。
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
|
JSON 自然语言处理 编译器
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
前言包大小是衡量APP性能的一项重要指标,它直接影响用户的下载点击率(包太大不想下)、下载安装成功率(下载慢不用了)、APP卸载率(太占空间先删掉)。包大小的计算逻辑很简单,它是各种类型的文件占用磁盘大小相加。APP瘦身的技术却很复杂,代码文件的复杂度和编译器策略决定了可执行文件的大小,业务功能和工程架构决定了代码文件的复杂度。iOS APP瘦身,需要掌握的技能有XCode构建技术、LLVM编译器
5159 0
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
|
iOS开发
iOS多线程之NSOperationQueue-依赖、并发数、优先级、自定义Operation等最全的使用总结
iOS多线程之NSOperationQueue-依赖、并发数、优先级、自定义Operation等最全的使用总结
954 0
|
Unix Linux C#
iOS开发:Crash异常总结与捕获
说到异常捕获,就必须要提到Crash问题,iOS中,Crash一般分为两种: 1、一种是由EXC_BAD_ACCESS引起的,原因是访问了不属于本进程的内存地址,有可能是访问已被释放的内存; 2、一种是未被捕获的目标C异常(NSException)记录,导致程序向自身发送了SIGABRT信号而崩溃。
1391 0
iOS开发:Crash异常总结与捕获
|
移动开发 JavaScript Android开发
js调用ios和android方法使用总结
js调动原生登录方法 使用场景,点击一个按钮,如果没有登录,则调用原生登录窗口,原生登录成功以后把usercode赋值给h5页面
1129 0
|
缓存 前端开发 网络协议
12个iOS技术面试题及答案总结
随着移动互联网科技不断的发展和创新,如今无论是公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,而面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。下面我们一起来一下看看吧。
12个iOS技术面试题及答案总结
|
iOS开发
iOS开发 --重写UISearchBar的时候,点击取消searchbar会变深色,一闪而过
iOS开发 --重写UISearchBar的时候,点击取消searchbar会变深色,一闪而过
300 0
|
物联网 Android开发 iOS开发
iOS开发 - 蓝牙学习的总结
iOS开发 - 蓝牙学习的总结
415 0
|
开发者 iOS开发
iOS小技能:去掉UISearchBar搜索框的放大镜
去掉UISearchBar搜索框的放大镜
339 0