UISearchBar 常用方法
2014-03-21 13:54
176 查看
1、修改UISearchBar的背景颜色
UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField. 要IB中没有直接操作背景的属性。方法是直接将 UISearchBarBackGround移去
seachBar=[[UISearchBar alloc] init];
seachBar.backgroundColor=[UIColor clearColor];
for (UIView *subview in seachBar.subviews)
{
if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
{
[subview removeFromSuperview];
break;
}
}
第二种解决的方法:
[[searchbar.subviews objectAtIndex:0]removeFromSuperview];
2、
UISearchBar* m_searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 44, 320, 41)];
m_searchBar.delegate = self;
m_searchBar.barStyle = UIBarStyleBlackTranslucent;
m_searchBar.autocorrectionType = UITextAutocorrectionTypeNo;
m_searchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;
m_searchBar.placeholder = _(@"Search");
m_searchBar.keyboardType = UIKeyboardTypeDefault;
//为UISearchBar添加背景图片
UIView *segment = [m_searchBar.subviews objectAtIndex:0];
UIImageView *bgImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Images/search_bar_bg.png"]]; [segment addSubview: bgImage];
//<---背景图片
[self.view addSubview:m_searchBar];
[m_searchBar release];
3:取消UISearchBar调用的键盘
[searchBar resignFirstResponder];
添加UISearchBar的两种方法:
代码
UISearchBar *mySearchBar = [[UISearchBar alloc]
initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, 45)];
mySearchBar.delegate = self;
mySearchBar.showsCancelButton = NO;
mySearchBar.barStyle=UIBarStyleDefault;
mySearchBar.placeholder=@"Enter Name or Categary"; //输入框中原始的文字
mySearchBar.keyboardType=UIKeyboardTypeNamePhonePad;
[self.view addSubview:mySearchBar];
[mySearchBar release];
3.在 tableview上添加:
代码
//add Table
UITableView *myBeaconsTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height-40) style:UITableViewStylePlain];
myBeaconsTableView.backgroundColor = [UIColor whiteColor];
myBeaconsTableView.delegate=self;
myBeaconsTableView.dataSource=self;
[myBeaconsTableView setRowHeight:40];
// Add searchbar
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, 40)];
searchBar.placeholder=@"Enter Name";
searchBar.delegate = self;
myBeaconsTableView.tableHeaderView = searchBar;
searchBar.autocorrectionType = UITextAutocorrectionTypeNo;
searchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;
[searchBar release];
[self.view addSubview:myBeaconsTableView];
[myBeaconsTableView release];
4.删除搜索框背景
[[mSearchBar.subviewsobjectAtIndex:0]removeFromSuperview];
// 删除searchBar输入框的背景
for (UIView* subview in mSearchBar.subviews) {
if ([subview isKindOfClass:[UITextField class]]) {
UITextField * searchField = (UITextField*)subview;
searchField.leftView=nil;//隐藏搜索小图标
[searchField setBackground:nil];
[searchField setBorderStyle:UITextBorderStyleNone];
break;
}
}
相关文章推荐
- UISearchBar常用的属性方法
- UISearchBar基本用法及searchBar常用代理方法
- UISearchBar协议常用方法
- UISearchBar基本用法及searchBar常用代理方法
- UISearchbar 常用代理方法
- UISearchbar 常用代理方法
- UISearchbar 常用代理方法
- UISearchBar 搜索框 的使用方法详细
- 亲测UISearchBar Delegate的11个方法和UISearchDisplay Delegate的12个方法的调用顺序
- UISearchBar 使用方法小结
- 让UISearchBar上英文Cancel变成中文的正确方法
- UISearchbar去除背景色的方法,适合iOS5/6/7/8.0beta
- UISearchBar(搜索框)的方法属性介绍
- ios 之UISearchBar隐藏虚拟键盘几种方法
- iOS - UISearchBar自动补全words方法及禁用
- UISearchbar去除背景色的方法,适合iOS5/6/7/8.0beta
- 让UISearchBar上英文Cancel变成中文的快捷方法
- ios搜索栏 UISearchBarDelegate委托常用方法
- UISearchBar基本设置 和 代理方法
- iOS UISearchBar 属性、方法详解及应用(自定义搜索框样式)