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   低头捡石頭  阅读(150)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示