UI基础 - UISearchBar

■ 简言

1. UISearchBar 是一个搜索控件,它提供了一个文本输入框、一个查找按钮、一个书签按钮、一个取消按钮,我们可以使用 UISearchBarDelegate 来进行查找操作

■ 使用方式

 1 #import "ViewController.h"
 2 @interface ViewController ()<UISearchBarDelegate>
 3 @property(nonatomic,strong)UISearchBar *searchBar;
 4 @end
 5 
 6 @implementation ViewController
 7 
 8 - (void)viewDidLoad {
 9     [super viewDidLoad];
10     self.view.backgroundColor = [UIColor brownColor];
11     
12     // UISearchBar
13     self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(15, 50, self.view.frame.size.width-30, 280)];
14     _searchBar.placeholder = @"Search";// 占位符
15     [_searchBar setBarStyle:UIBarStyleDefault];  // 样式
16     [_searchBar setTintColor:[UIColor redColor]];// 光标、分栏、取消按钮颜色
17     [_searchBar setTranslucent:NO];// 毛玻璃效果
18     [_searchBar setKeyboardType:UIKeyboardTypePhonePad];// 键盘样式
19     _searchBar.autocapitalizationType = UITextAutocapitalizationTypeWords;// 单词首字母大写
20     
21     // 顶部提示文本:会影响背景图片
22     [_searchBar setPrompt:@"搜索框"]; // 这里会影响搜索框的背景图片
23     
24     // 显示分栏条:分栏条显示后,UISearchBar 尺寸自动改变系统默认大小
25     [_searchBar setShowsScopeBar:YES];// 是否显示分栏条
26     
27     [_searchBar setScopeButtonTitles:[NSArray arrayWithObjects:@"通话",@"联系人",@"其他", nil]];// 分栏条:显示栏目标题
28     [_searchBar setSelectedScopeButtonIndex:1];// 默认选中按钮下标:联系人
29     
30     // 背景图片:分栏条显示时才有效果
31     UIImage *img = [UIImage imageNamed:@"searchBack.png"];
32     [_searchBar setBackgroundImage:img];
33     [_searchBar setScopeBarBackgroundImage:[UIImage imageNamed:@"scopeBarBack.png"]];
34     
35     _searchBar.delegate = self;// 代理
36     [self.view addSubview:_searchBar];
37     
38     // 偏移
39     [_searchBar setSearchTextPositionAdjustment:UIOffsetMake(10,0)];// 搜索文本偏移量
40     [_searchBar setSearchFieldBackgroundPositionAdjustment:UIOffsetMake(1, 1)];// 文本框的偏移量
41     
42     // 是否显示搜索结果按钮
43     // [_searchBar setShowsSearchResultsButton:YES];
44     // 是否显书签按钮
45     [_searchBar setShowsBookmarkButton:YES];
46 }
47 
48 #pragma mark - <UISearchBarDelegate>
49 // 开始编辑时
50 -(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{
51     // 显示取消按钮
52     [self.searchBar setShowsCancelButton:YES animated:YES];
53     return YES;
54 }
55 
56 // 点击取消按钮时
57 -(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{
58     // 键盘回收
59     [self.searchBar resignFirstResponder];
60     // 关闭取消按钮
61     [self.searchBar setShowsCancelButton:NO animated:YES];
62 }
63 
64 // 点击搜索结果按钮时
65 -(void)searchBarResultsListButtonClicked:(UISearchBar *)searchBar{
66     NSLog(@"__%s__",__func__);
67 }
68 
69 // 点击搜索书签按钮时
70 -(void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar{
71     NSLog(@"__%s__",__func__);
72 }
73 
74 // 动态检测文本框内容时
75 -(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
76     NSLog(@"%@",searchText);
77 }
78 
79 @end

运行效果

 

posted on 2018-04-08 17:03  低头捡石頭  阅读(149)  评论(0编辑  收藏  举报

导航