IOS 开发之UISearchBar 详解及实例

IOS UISearchBar 详解

iPhone开发之UISearchBar学习是本文要学习的内容,主要介绍了UISearchBar的使用,不多说,我们先来看详细内容。关于UISearchBar的一些问题。

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];  

在 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]; 

小结:iPhone开发之UISearchBar学习的内容介绍完了,希望本文对你有所帮助