У меня есть NSMutableArray
, который состоит из текстовых полей. Я хочу загрузить их, когда пользователь вводит внутри UISearchBar
. Вначале я не хочу загружать все текстовые поля, прежде чем пользователь начнет вводить текст. Только пользователь, начинающий вводить предложение первой буквы, должен быть загружен. Любая помощь?IOS: Автозаполнение поиска с использованием UISearchbar
1
A
ответ
3
Есть много логики, но я кладу логика здесь:
Take Two NSMutableArray
и добавить один массив в другой массив в ViewDidLoad
способом, таким как,
self.listOfTemArray = [[NSMutableArray alloc] init]; // array no - 1
self.ItemOfMainArray = [[NSMutableArray alloc] initWithObjects:@"YorArrayList", nil]; // array no - 2
[self.listOfTemArray addObjectsFromArray:self.ItemOfMainArray]; // add 2array to 1 array
и писать следующее делегат Метод UISearchBar
- (void)searchBar:(UISearchBar *)theSearchBar textDidChange:(NSString *)searchText
{
NSString *name = @"";
NSString *firstLetter = @"";
if (self.listOfTemArray.count > 0)
[self.listOfTemArray removeAllObjects];
if ([searchText length] > 0)
{
for (int i = 0; i < [self.ItemOfMainArray count] ; i = i+1)
{
name = [self.ItemOfMainArray objectAtIndex:i];
if (name.length >= searchText.length)
{
firstLetter = [name substringWithRange:NSMakeRange(0, [searchText length])];
//NSLog(@"%@",firstLetter);
if([firstLetter caseInsensitiveCompare:searchText] == NSOrderedSame)
{
// strings are equal except for possibly case
[self.listOfTemArray addObject: [self.ItemOfMainArray objectAtIndex:i]];
NSLog(@"=========> %@",self.listOfTemArray);
}
}
}
}
else
{
[self.listOfTemArray addObjectsFromArray:self.ItemOfMainArray ];
}
[self.tblView reloadData];
}
}
Выход Показать в вашем Consol.
Этот код может полезно для вас.
0
Я думаю, что лучший способ сделать это строит свой собственный NSCompoundPredicate:
NSString *nameVar = ...; //ex: smith m
NSArray *names = ...; //ex: John Smith, Mary Smith
NSArray *terms = [nameVar componentsSeperatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSMutableArray *subpredicates = [NSMutableArray array];
for(NSString *term in terms) {
if([term length] == 0) { continue; }
NSPredicate *p = [NSPredicate predicateWithFormat:@"name contains[cd] %@", term];
[subpredicates addObject:p];
}
NSPredicate *filter = [NSCompoundPredicate andPredicateWithSubpredicates:subpredicates];
[fetchController setPredicate:filter];
Наслаждайтесь Coding!
Смежные вопросы
- 1. Автозаполнение на UISearchBar
- 2. Поиск с использованием UISearchBar
- 3. IOS - Настройка кнопки UISearchBar
- 4. iOS - Передвинуть UISearchBar программно
- 5. UIWebView с UISearchBar для поиска
- 6. (iOS) Как добавить место на автозаполнение google для строки поиска
- 7. Gap выше UISearchBar с использованием UISearchController
- 8. iphone - кнопка поиска на UISearchBar
- 9. iOS Parse UISearchBar
- 10. UISearchBar Кнопка поиска
- 11. UISearchBar - окраска текста поиска
- 12. Двойной кран UISearchBar с делегатом поиска в iOS 7 заставляет UISearchBar исчезнуть
- 13. Изменение поля поиска UISearchBar фон
- 14. UISearchBar с твердым цветом в iOS 7+
- 15. UISearchController для поиска данных из UISearchBar с использованием предиката [Swift]
- 16. iOS: проблема с исходным кодом UISearchBar
- 17. Проблема UISearchBar с iOS7
- 18. iOS 7 UISearchBar правое расстояние
- 19. MapKit с UISearchBar
- 20. UISearchBar скрывается в iOS 8
- 21. IOS 7 UISearchBar UISearchBarIconSearch
- 22. Графическая проблема с UISearchBar на iOS 7
- 23. Как установить недавнюю историю поиска для UISearchBar в iOS
- 24. UISearchBar: результаты поиска скрыты за панель поиска
- 25. Проблема с анимацией UISearchBar с использованием UISearchDisplayController
- 26. IOS Неуклюжий UISearchBar Анимация
- 27. IOS: UISearchBar появляется тонированное
- 28. UISearchBar iOS 8 уточнение
- 29. Непоследовательная калибровка UISearchBar перед первым использованием?
- 30. «Автозаполнение» с использованием Paypal
Благодарим за помощь, работаем отлично. – Volty