的UISearchBar消失时,第一个字母按领域的UISearchBar,iOS7
问题描述:
这里我的代码鉴于或者Controller.h的UISearchBar消失时,第一个字母按领域的UISearchBar,iOS7
#import "AppDelegate.h"
@interface SearchRsultsFanSideViewController : UIViewController<UISearchBarDelegate,UISearchDisplayDelegate>
{
}
@property (strong, nonatomic) IBOutlet UISearchBar *searchData;
@property (strong, nonatomic) UISearchDisplayController *controller;
在viewcontroller.m
- (void)viewDidLoad
{
[super viewDidLoad];
searchResults=[[NSArray alloc]init];
self.controller = [[UISearchDisplayController alloc]initWithSearchBar:searchData contentsController:self];
self.controller.searchResultsDataSource = self;
self.controller.searchResultsDelegate = self;
}
委托方法的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];
}
+0
显示没有更改兄弟 –
+0
在此代理处调试您的代码并检查搜索栏框架,搜索时当前设置的是什么 – Retro
答
试试这个:
-(void) viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
if (self.searchDisplayController.isActive) {
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
}
有什么用筛选数据的>? –
什么是self.searchDisplayController? – Tendulkar
我使用了故事板这是你用的 –