关于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 allocinitWithFrame:CGRectMake(04432041)];

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 allocinitWithImage:[UIImage imageNamed:@"Images/search_bar_bg.png"]];

[segment addSubview: bgImage];

//<---背景图片

[self.view addSubview:m_searchBar];

[m_searchBar release];


3:取消UISearchBar调用的键盘

 [searchBar resignFirstResponder];



添加UISearchBar的两种方法:

UISearchBar and UITableView - zhangting - 学习是一种乐趣 代码
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上添加:

UISearchBar and UITableView - zhangting - 学习是一种乐趣 代码
// 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]; 

你可能感兴趣的:(search)