当前位置: 首页 > news >正文

UISearchBar使用及修改样式

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

//初期化 

self.searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, DEVICE_WIDTH - 120, 34)];

//修改searchBar 方法镜图片

[self.searchBar setImage:[UIImage imageNamed:@"store_search_small"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];

//设置默认文字

[self.searchBar setPlaceholder:@"输入地址/店名"];

self.searchBar.delegate = self;

//设置是否显示UISearchBar自带的cancel按钮

self.searchBar.showsCancelButton = YES;

 [self.view addSubview:self.searchBar];

 

for(id cc in [[self.searchBar.subviews lastObject] subviews])

    {

       //修改UISearchBar自带的cancel按钮样式

        if([cc isKindOfClass:[UIButton class]])

        {

            UIButton *btn = (UIButton *)cc;

            [btn setTitle:@"取消" forState:UIControlStateNormal];

            [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

            [btn setTitleColor::[UIColor redColor] forState:UIControlStateHighlighted];

            btn.titleLabel.font = [UIFont systemFontOfSize:14];

            btn.enabled=YES;

        }

        //修改UISearchBar自带的UITextField样式

        if ([cc isKindOfClass:[UITextField class]]){

            UITextField * searchField = (UITextField *)cc;

            searchField.layer.cornerRadius = 15;

            [searchField setValue: [UIColor blueColor]  forKeyPath:@"_placeholderLabel.textColor"];

            searchField.textColor = [UIColor grayColor] ;

            searchField.backgroundColor = [UIColor redColor] ;

        }

       //去掉UISearchBar自带的背景框

        if ([cc isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {

            [cc removeFromSuperview];

        }

    }

#pragma mark UISearchBarDelegate

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText

{

    //检测搜索框中文字变化

}

//点击键盘上搜索按钮的响应事件

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar

{

   //收回键盘

    [self.searchBar resignFirstResponder];

}

转载于:https://my.oschina.net/StriveBoy/blog/866194

相关文章:

  • 关于api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案
  • Android 高德地图入门详解
  • JavaScript操作符
  • Runtime学习笔记
  • windows 下 TCP 端口转发
  • 2017大数据标准化论坛发布了第一批大数据系统测试结果,阿里云数加获得了大数据系统测试证书。...
  • idea java.lang.OutOfMemoryError: PermGen space
  • uml序列图
  • idea拉取SVN maven 多模块项目
  • 通过a标签直接下载图片或文本文档
  • 软件测试计划
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • StreamingPro 支持Spark Structured Streaming
  • 提交PR的git 流程
  • OAuth快速入门
  • 【5+】跨webview多页面 触发事件(二)
  • Django 博客开发教程 8 - 博客文章详情页
  • ES6系统学习----从Apollo Client看解构赋值
  • GraphQL学习过程应该是这样的
  • Intervention/image 图片处理扩展包的安装和使用
  • Java IO学习笔记一
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Mithril.js 入门介绍
  • mysql innodb 索引使用指南
  • npx命令介绍
  • Promise面试题,控制异步流程
  • Python打包系统简单入门
  • React as a UI Runtime(五、列表)
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Spark学习笔记之相关记录
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 代理模式
  • 分享一份非常强势的Android面试题
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 入门到放弃node系列之Hello Word篇
  • 什么软件可以剪辑音乐?
  • 详解移动APP与web APP的区别
  • 移动端解决方案学习记录
  • 白色的风信子
  • (09)Hive——CTE 公共表达式
  • (2015)JS ES6 必知的十个 特性
  • (ZT)薛涌:谈贫说富
  • (第27天)Oracle 数据泵转换分区表
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (动态规划)5. 最长回文子串 java解决
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (正则)提取页面里的img标签
  • (转载)从 Java 代码到 Java 堆
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET BackgroundWorker