UI25_UISearchBar
来源:互联网 发布:淘宝考研资料靠谱店铺 编辑:程序博客网 时间:2024/06/10 12:37
1.初始化
UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake( 0, 0, 100, 30)];[self.view addSubview:search];[search release];
2.搜索框的占位符
[search setPlaceholder:@"搜索文本"];
3.顶部的提示文本,相当于空间的title(标题)
[search setPrompt:@"title"];
4.搜索框样式
[search setBarStyle:UIBarMetricsDefault];
5.搜索框的颜色(当设置此属性是,barStyle将失效)
[search setTintColor:[UIColor blackColor]];
6.设置是否透明
[search setTranslucent:YES];
7.设置背景图片
[search setBackgroundImage:[UIImage imageNamed:@"1"]];
8.设置搜索框中文本框的背景图片
[search setSearchFieldBackgroundImage:[UIImage imageNamed:@"3"] forState:UIControlStateNormal];对于forState:还有UIControlStateHighlighted,可以点击进入看看
9.设置搜索框中文本框背景的偏移量
[search setSearchFieldBackgroundPositionAdjustment:UIOffsetMake(40, 50)];
10.设置搜索结果是否被选中
[search setSearchResultButtonSelected:NO];
11.是否显示搜索结果
[search setShowSearchResultButton:YES];
12.设置搜索框中文本框的偏移量
[search setSearchTextPositionAdjustment:UIOffsetMake(40, 0)];
13.UISearchBar提供的遮盖视图
[search setInputAccessoryView:hideView];hideView自己定义的视图在苹果的电话本的搜索功能,当UISearchBar焦点状态下,出现半透明遮盖层 那个半透明的黑色View就是遮盖视图遮盖层
14.设置键盘样式
[search setKeyboardType:UIKeyboardTypeEmailAddress];
15.下面是关于搜索框下边的分栏条
(1)是否显示分栏条
[search setShowScopeBar:YES];
(2)分栏条 栏目
[search setScopeButtonTitle:[NSArray arrayWithObjects:@"one",@"two",@"three",nil]];
(3)分栏条的背景图片
[search setScopeBarBackgroundImage:[UIImage imageNamed:@""]];
(4)分栏条默认选中的按钮的下标
[search setSelectedScopeButtonIndex:1];
16.是否显示右侧的书图标
[search setShowBookmarkButton:YES];
17.是否显示取消按钮
[search setShowCancelButton:YES];带动画效果[search setShowCancelButton:YES animated:YES];
18.是否提供自动修正功能(一般都不用)
[search setSpellCheckingType:UITextSpellCheckingTypeYES];
19.设置自动检查的类型
[search setAutocorrectionType:UITextAutocorrectionTypeDefault];是否提供自动修正功能,一般设置为UITextAutocorrectionTypeDefault
20.设置代理
search.delegate = self;
21.尺寸适应
[search sizeToFit];
方法(delegate的协议方法等等 可以点击进入UISearchBar控件的类里看看)
1.控制遮罩层的透明度
- (void)controlAccessoryView:(float)alphaValue{ [UIView animateWithDuration:0.2 animations:^{ [hideView setAlpha:alphaValue]; }completion:^(BOOL finashed){ if (alphaValue <= 0){ [search resignFirstResponder]; [search setShowCancelButton:NO animated:YES]; [self.navigationController setNavigationBarHidden:NO animated:YES]; } }];}
2.UISearchBar得到焦点并开始编辑时,执行该方法
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{ [search setShowsCancelButton:YES animated:YES]; [self.navigationController setNavigationBarHidden:NO animated:YES]; //显示遮盖层 [self controlAccessoryView:0.55]; rerutn YES;}
3.取消按钮被按下时执行的方法
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{[search resignFirstResponder];[search setShowCancelButton:NO animated:YES];搜索相关数据[collectionView searchDataBySearchString:search.text];[self.navigationController setNavigationBarHidden:NO animated:YES];//隐藏遮盖层[self controlAccessoryView:0];}
4.当搜索内容变化时,执行此方法(实现时时搜索)
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{搜索相关数据[collectionView searchDataBySearchString:search.text];[self.navigationController setNavigationBarHidden:NO animated:YES];//隐藏遮盖层[self controlAccessoryView:0];}
5.键盘中,搜索按钮被按下执行的方法
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{[search resignFirstResponder];[search setShowCancelButton:NO animated:YES];搜索相关数据[collectionView searchDataBySearchString:search.text];[self.navigationController setNavigationBarHidden:NO animated:YES];//隐藏遮盖层[self controlAccessoryView:0];}
0 0
- UI25_UISearchBar
- Ruby 语言基础
- 小议:Information Rights Management 无法连接RMS Server解决方案
- MySQL- 'load data infile'语句
- ORA-01078 LRM-00109
- 03-树2 List Leaves
- UI25_UISearchBar
- 潘鹏整理WPF(10)日历控件Calendar&&DatePicker
- 03-树3 Tree Traversals Again
- AlertDialog.Builder()的应用及扩展
- Spring源码之SimpleAliasRegistry解读(一)
- 网络图片下载工具类
- 第四周-项目4 - 建设双链表算法库
- JavaScript实现异步的4种方法
- iOS开发脚踏实地学习day13-触摸事件和抽屉效果