0

Привет, я создал UISearchController для поиска в виде таблицы в моем приложении, так как я узнал, что методы контроллера UISearchDisplay устарели для iOS 8, теперь все отлично работает в 8.1 тренажер, когда я пытаюсь запустить мое приложение в IPad, который ИО версии 7.1, я обнаружил, что панель поиска отсутствует поэтому, пожалуйста, мне помочь, как создать панель поиска, которая поддерживает все версии IOS от 6,0UISearchController, созданный для iOS 8, не поддерживающий предыдущие версии

- (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]; 

ответ

0

Нет хорошего ответа.

Если вы хотите одну реализацию, то правильный, текущий ответ: используйте UISearchDisplayController. Но, как вы говорите, это устарело. Сейчас он работает, но может уйти в какой-то момент в будущем.

Другие варианты:

  • сохранить текущую UISearchController реализацию для IOS 8 пользователей и создать параллельную реализацию, используя UISearchDisplayController для IOS 7 пользователей. Преимущество этого вы можете удалить устаревшую версию, когда вам больше не нужно поддерживать IOS 7.
  • падение поддержки прошивки 7

Для моих личных проектов я вообще выбрать вариант 2, но, очевидно, это ISN Всегда выбор.

+0

Не могли бы вы поделиться мне несколькими примерами проекта, используя UISearchDisplayController – Mohanraj

+0

Вы посмотрели документацию? Там есть ссылка на [образец кода] Apple (https://developer.apple.com/library/ios/samplecode/TableSearch/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007848). –

+0

большое спасибо – Mohanraj