当第一个字母按下UISearchbar字段时,UISearchbar消失,iOS7
这里是我在view controller.h中的代码当第一个字母按下UISearchbar字段时,UISearchbar消失,iOS7,ios,ios7,uisearchbar,uisearchdisplaycontroller,Ios,Ios7,Uisearchbar,Uisearchdisplaycontroller,这里是我在view controller.h中的代码 #import "AppDelegate.h" @interface SearchRsultsFanSideViewController : UIViewController<UISearchBarDelegate,UISearchDisplayDelegate> { } @property (strong, nonatomic) IBOutlet UISearchBar *searchData; @property (st
#import "AppDelegate.h"
@interface SearchRsultsFanSideViewController : UIViewController<UISearchBarDelegate,UISearchDisplayDelegate>
{
}
@property (strong, nonatomic) IBOutlet UISearchBar *searchData;
@property (strong, nonatomic) UISearchDisplayController *controller;
UIsearchbar的委托方法
#pragma Mark - SearchBar Delegate
- (void)filterData
{
searchResults = nil;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains [cd] %@", searchData.text];
NSArray *arrayaaa=[finalArray copy];
NSLog(@"The result Datas==%@",arrayaaa);
searchResults = [[arrayaaa filteredArrayUsingPredicate:predicate] mutableCopy];
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
[self.searchDisplayController setActive:YES];
[self filterData];
}
试试这个
- (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller{
[controller.searchBar setFrame:CGRectMake(44, 0, 320 - 44, 43)];
[self.searchDisplayController.searchResultsTableView setDelegate:self];
}
试试这个:
-(void) viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
if (self.searchDisplayController.isActive) {
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
}
filterData>的用途是什么?什么是self.searchDisplayController?我使用了y的故事板我使用了用于谓词数组的filterData方法隐藏此代理的错误时,您的图幅是否会更改,并检查搜索栏框,搜索时的当前设置
-(void) viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
if (self.searchDisplayController.isActive) {
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
}