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
运行效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律