• UISearchBar总结


    UISearchBar介绍

    属性 作用
    UIBarStyle barStyle 控件的样式
    id delegate 设置控件的委托
    NSString *text 控件上面的显示的文字
    NSString *prompt 显示在顶部的单行文字,通常作为一个提示行
    NSString *placeholder 半透明的提示文字,输入搜索内容消失
    BOOL showsBookmarkButton 是否在控件的右端显示一个书的按钮(没有文字的时候)
    BOOL showsCancelButton 是否显示cancel按钮
    BOOL showsSearchResultsButton 是否在控件的右端显示搜索结果按钮(没有文字的时候)
    BOOL searchResultsButtonSelected 搜索结果按钮是否被选中
    UIColor *tintColor bar的颜色(具有渐变效果)
    BOOL translucent 指定控件是否会有透视效果
    UITextAutocapitalizationType
    autocapitalizationType
    设置在什么的情况下自动大写
    UITextAutocorrectionType
    autocorrectionType
    对于文本对象自动校正风格
    UIKeyboardType
    keyboardType
    键盘的样式
    NSArray *scopeButtonTitles 搜索栏下部的选择栏,数组里面的内容是按钮的标题
    NSInteger selectedScopeButtonIndex 搜索栏下部的选择栏按钮的个数
    BOOL showsScopeBar 控制搜索栏下部的选择栏是否显示出来

    代理列表: 

    编辑代理

    点击按钮

    范围代理

    searchBar使用小技巧 

    searchBar的范围控件showsScopeBar,官方学名叫Scope Buttons。
    首先就要设置这个属性:
    self.searchBar.showsScopeBar = YES;
    然后要给他添加按钮。比如说,这样:self.searchBar.scopeButtonTitles = [NSArray arrayWithObjects:@"BOY",@"GIRL",@"ALL",nil];
    还有一个很重要的事情就是我们要实现这个代理UISearchBarDelegate里的这个方法searchBar:selectedScopeButtonIndexDidChange:。告诉表格,你选择的范围是啥。
    还有要是设置默认选择哪个按钮的话,要设置这个属性,像这样就是默认选中第1个啦。
    self.searchBar.selectedScopeButtonIndex = 0;

    在实现搜索功能时,界面使用UISearchBar比较好,它实现了很多搜索时使用到的东西,但是默认的风格可能和现有的风格不一致,所以需要我们想办法去修改一下默认的外观。

    1、修改UISearchBar的背景颜色

    UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField. 要IB中没有直接操作背景的属性。方法是直接将 UISearchBarBackGround移去  

    
    
    1. seachBar=[[UISearchBar alloc] init];  
    2. seachBar.backgroundColor=[UIColor clearColor];  
    3. for (UIView *subview in seachBar.subviews)   
    4. {    
    5. if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])  
    6.        {    
    7. [subview removeFromSuperview];    
    8. break;  
    9. }   

    第二种解决的方法:

    
    
    1. [[searchbar.subviews objectAtIndex:0]removeFromSuperview]; 

    2、

    
    
    1. UISearchBar* m_searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 44, 320, 41)];  
    2. m_searchBar.delegate = self;  
    3. m_searchBar.barStyle = UIBarStyleBlackTranslucent;  
    4. m_searchBar.autocorrectionType = UITextAutocorrectionTypeNo;  
    5. m_searchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;  
    6. m_searchBar.placeholder = _(@"Search");  
    7. m_searchBar.keyboardType =  UIKeyboardTypeDefault;  
    8. //为UISearchBar添加背景图片  
    9. UIView *segment = [m_searchBar.subviews objectAtIndex:0];  
    10. UIImageView *bgImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Images/search_bar_bg.png"]];  
    11. [segment addSubview: bgImage];  
    12. //<</span>---背景图片  
    13. [self.view addSubview:m_searchBar];  
    14. [m_searchBar release]; 

    3:取消UISearchBar调用的键盘

    
    
    1. [searchBar resignFirstResponder];  

    添加UISearchBar的两种方法:

    代码

    
    
    1. UISearchBar *mySearchBar = [[UISearchBar alloc] 
    2. initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, 45)];          
    3.  mySearchBar.delegate = self;          
    4.  mySearchBar.showsCancelButton = NO;          
    5.  mySearchBar.barStyle=UIBarStyleDefault;          
    6.  mySearchBar.placeholder=@"Enter Name or Categary";           
    7. mySearchBar.keyboardType=UIKeyboardTypeNamePhonePad;           
    8. [self.view addSubview:mySearchBar];          
    9.  [mySearchBar release];    

    在 tableview上添加:   

    代码  

    
    
    1. //add Table  
    2.         UITableView *myBeaconsTableView = [[UITableView alloc]   
    3.                                            initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height-40)    
    4.   style:UITableViewStylePlain];  
    5.         myBeaconsTableView.backgroundColor = [UIColor whiteColor];  
    6.         myBeaconsTableView.delegate=self;  
    7.         myBeaconsTableView.dataSource=self;  
    8.         [myBeaconsTableView setRowHeight:40];  
    9.         // Add searchbar   
    10.         searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, 40)];  
    11.         searchBar.placeholder=@"Enter Name";  
    12.         searchBar.delegate = self;  
    13.         myBeaconsTableView.tableHeaderView = searchBar;  
    14.         searchBar.autocorrectionType = UITextAutocorrectionTypeNo;  
    15.         searchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;  
    16.         [searchBar release];  
    17.         [self.view addSubview:myBeaconsTableView];  
    18.         [myBeaconsTableView release];  
     
    1. UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField. 要IB中没有直接操作背景的属性。方法是直接将 UISearchBarBackGround移去 

       

       
  • 相关阅读:
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    asp中设置session过期时间方法总结
    asp中设置session过期时间方法总结
    ASP.NET关于Session_End触发与否的问题
  • 原文地址:https://www.cnblogs.com/56ik/p/5135333.html
Copyright © 2020-2023  润新知