如何显示 UISearchBar 搜索的建议?
how to show suggestion for UISearchBar search?
我正在制作一个演示天气应用程序,我在其中使用 UISearchBar 所以用户可以输入城市名称,但我不知道如何显示建议。
例如,如果用户输入 "lon",那么应该有城市名称建议从 "lon" 开始,例如伦敦等
UISearchBar
有自己的授权协议 UISearchBarDelegate
,方法 -
-(BOOL)searchBar:(UISearchBar *)searchBar
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text
使在编辑时可以做一些额外的操作,在这里你可以把你的NSPredicate
看是否插入的文本有一个城市BEGINSWITH
或CONTAINS
输入的文本。
你可以通过
创建要显示的位置的数组(列表)...在数组中添加对象!
NSArray *list;
NSArray *listFiles;
2.Filter内容..
-(void)filter :(NSString *) match1
listFiles = [[NSMutableDictionary alloc] init];
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"FullName BEGINSWITH[c] %@", match1];
listFiles = [[ContactDect filteredArrayUsingPredicate:sPredicate ] mutableCopy];
f_name_array=[[NSMutableArray alloc]init];
for (NSDictionary *d in listFiles) {
[self.f_name_array addObject:[d objectForKey:@"FullName"]];
}
list=f_name_array;
NSLog(@"%@",list);
}
- 然后计算 numberOfRowsInTableview 中的列表:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [listFiles count];
}
- cellForRow:::
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {<br>
静态 NSString *CellIdentifier = @"abccell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.textLabel.text = [NSString stringWithFormat:@"%@" ,[listFiles objectAtIndex:indexPath.row]];
return 单元格;
}
Call the Filter method while editing textFeild !
[self filter:textfeild1.text];
希望对你有所帮助.....
我正在制作一个演示天气应用程序,我在其中使用 UISearchBar 所以用户可以输入城市名称,但我不知道如何显示建议。
例如,如果用户输入 "lon",那么应该有城市名称建议从 "lon" 开始,例如伦敦等
UISearchBar
有自己的授权协议 UISearchBarDelegate
,方法 -
-(BOOL)searchBar:(UISearchBar *)searchBar
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text
使在编辑时可以做一些额外的操作,在这里你可以把你的NSPredicate
看是否插入的文本有一个城市BEGINSWITH
或CONTAINS
输入的文本。
你可以通过
创建要显示的位置的数组(列表)...在数组中添加对象!
NSArray *list;
NSArray *listFiles;
2.Filter内容..
-(void)filter :(NSString *) match1
listFiles = [[NSMutableDictionary alloc] init];
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"FullName BEGINSWITH[c] %@", match1];
listFiles = [[ContactDect filteredArrayUsingPredicate:sPredicate ] mutableCopy];
f_name_array=[[NSMutableArray alloc]init];
for (NSDictionary *d in listFiles) {
[self.f_name_array addObject:[d objectForKey:@"FullName"]];
}
list=f_name_array;
NSLog(@"%@",list);
}
- 然后计算 numberOfRowsInTableview 中的列表:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [listFiles count];
}
- cellForRow:::
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {<br>
静态 NSString *CellIdentifier = @"abccell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.textLabel.text = [NSString stringWithFormat:@"%@" ,[listFiles objectAtIndex:indexPath.row]];
return 单元格;
}
Call the Filter method while editing textFeild !
[self filter:textfeild1.text];
希望对你有所帮助.....