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
原创粉丝点击