Добавьте UISearchController на панель навигации iOS

Я не могу добавить контроллер UISearch на панель навигации iOS 9. В Интернете их много, но ни один из них не работает.

Код такой..

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
    searchController.searchResultsUpdater = self;
    searchController.delegate = self;
    searchController.searchBar.delegate = self;
    searchController.hidesNavigationBarDuringPresentation = NO;
    searchController.dimsBackgroundDuringPresentation = YES;

    self.navigationItem.titleView = searchController.searchBar;

    self.definesPresentationContext = YES;

}

-(void)updateSearchResultsForSearchController:(UISearchController *)searchController{}

person Aryan Kashyap    schedule 25.05.2016    source источник


Ответы (1)


Вы должны использовать. В приведенном выше коде для него установлено значение nil. Так что не может инициировать.

[searchController = [UISearchController alloc] initWithSearchResultController:self]

Вот код для iOS 8/9:

UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:self];
// Use the current view controller to update the search results.
searchController.searchResultsUpdater = self;
// Install the search bar as the table header.
self.navigationItem.titleView = searchController.searchBar;
// It is usually good to set the presentation context.
self.definesPresentationContext = YES;

Надеюсь, это поможет вам решить вашу проблему. Сохраняйте страсть! Удачи.

person Cuong Nguyen    schedule 25.05.2016
comment
Вы пытались добавить self.definesPresentationContext = YES в ViewDidLoad? - person Timur X.; 25.05.2016