UISearchBar的自定义
来源:互联网 发布:c 反射加特性封装sql 编辑:程序博客网 时间:2024/04/27 14:44
UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField.
代码中没有直接操作两个subView的属性,要想修改,需要去子控件中修改
一,修改UISearchBar的背景框
删除它的方法有两种:一种是直接将 UISearchBarBackGround移去;另一种是创建一个UIView设置其颜色加载到UISearchBarBaceGround上作为UISearchBar的背景颜色
//获取其子视图 UIView *subView = _searchBar.subviews[0]; //1,移除 for (UIView *view in subView.subviews) { //搜索背景框 if ([view isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) { [view removeFromSuperview]; } } //2,替换 UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"40-di.png"]];[subView insertSubview:imageView atIndex:1];
二,修改其TextField
//获取其子视图 UIView *subView = _searchBar.subviews[0]; for (UIView *view in subView.subviews) { //自定义textField if ([view isKindOfClass:[UITextField class]]) { _textField = (UITextField *)view; _textField.layer.borderWidth = 0.5; _textField.layer.borderColor = H_LINECOLOR.CGColor; _textField.layer.cornerRadius = 2; _textField.clipsToBounds = YES; } }
三,代理方法
//输入搜索文字时隐藏搜索按钮,清空时显示
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {searchBar.showsScopeBar = YES;[searchBar sizeToFit];[searchBar setShowsCancelButton:YES animated:YES];return YES;}- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {searchBar.showsScopeBar = NO;[searchBar sizeToFit];[searchBar setShowsCancelButton:NO animated:YES];return YES;}
//改变搜索按钮文字
//改变UISearchBar取消按钮字体
for(id cc in [searchBar subviews]){if([cc isKindOfClass:[UIButton class]]){UIButton *btn = (UIButton *)cc;[btn setTitle:@"搜索" forState:UIControlStateNormal];}
0 0
- 自定义UISearchBar的背景图
- UISearchBar的自定义
- 自定义UISearchBar的左边放大镜
- IOS 自定义UISearchBar的背景图
- 自定义UISearchBar注意的问题
- UISearchBar的部分自定义设置
- uisearchbar的实现,自定义searcher
- UISearchBar 自定义
- 自定义UISearchBar
- UISearchBar自定义
- 自定义UISearchBar
- 自定义UISearchBar
- 自定义UINavigationBar和UISearchBar
- uisearchbar自定义使用
- 如何自定义UISearchBar
- UISearchBar 自定义 placeholder color
- [IOS]自定义UISearchBar
- 通过UITextField自定义UIsearchBar
- 设计模式1——策略模式
- 微信开发经常会用到的一些方法,做一次总结,以后直接过来拿
- Spring SpringMVC使用MultipartFile实现文件的上传
- 2016年5大Linux服务器发行版排行榜,早看早知道
- liunx -bash:ls:command not found,执行命令总是报找不到
- UISearchBar的自定义
- 购物车飞入的动画效果
- apk构建流程、apk安装以及打包2.0理解
- L脚本语言实现简单的HTTP服务器
- 博客开篇
- ubuntu14.04 apache+mysql+php+phpmyadmin安装
- toolbar去掉阴影
- 实际项目中解决启动白屏问题以及启动时设置全屏
- 梯度下降 随机梯度下降 批量梯度下降