UISearchController, созданный для iOS 8, не поддерживающий предыдущие версии
Привет, я создал UISearchController для поиска табличного представления в моем приложении, так как я узнал, что методы UISearchDisplay Controller устарели для iOS 8, теперь все отлично работает в симуляторе 8.1, когда я пытался запустить свое приложение в iPad, которое это ios версии 7.1, я обнаружил, что панель поиска отсутствует, поэтому, пожалуйста, помогите мне создать панель поиска, которая поддерживает все версии iOS от 6.0
- (void)updateSearchResultsForSearchController:(UISearchController *)searchController {
UISearchBar *searchBar = searchController.searchBar;
if (searchBar.text.length > 0) {
NSString *text = searchBar.text;
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(NSString *play, NSDictionary *dict) {
NSRange range = [play rangeOfString:text options:NSCaseInsensitiveSearch];
return range.location != NSNotFound;
}];
NSArray *searchResults = [self.dataARR filteredArrayUsingPredicate:predicate];
1 ответ
Нет хорошего ответа.
Если вы хотите одну реализацию, то правильный, правильный ответ: использовать UISearchDisplayController
, Но, как вы говорите, это устарело. Это работает сейчас, но может уйти в какой-то момент в будущем.
Другие опции:
- Держите текущий
UISearchController
реализация для пользователей iOS 8 и создание параллельной реализации с использованиемUISearchDisplayController
для пользователей iOS 7. Преимущество этого заключается в том, что вы можете удалить устаревшую версию, когда вам больше не нужна поддержка iOS 7. - Отбросьте поддержку iOS 7
Для моих личных проектов я обычно выбираю вариант 2, но, очевидно, это не всегда вариант.