Невозможно выбрать строку в результатах поиска при обновлении раскадровки до ios7

В iOS6 я реализовал панель поиска для табличного представления. Мне удалось выбрать строку в результатах поиска, выполнив следующие действия:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    if (tableView == self.searchDisplayController.searchResultsTableView) {
        // Perform segue to detail when a SEARCH table cell is touched
        [self performSegueWithIdentifier:@"setPWSDetails:" sender:tableView];
    }
}

В iOS7, когда я запускаю свое приложение и выполняю поиск, вызывается та же функция, но условие: tableView == self.searchDisplayController.searchResultsTableView не выполняется. Есть ли что-то, что мне не хватает, или что-то еще, что мне нужно сделать в раскадровке или коде.

Спасибо... Амро


person Amro Younes    schedule 20.03.2014    source источник


Ответы (1)


Надеюсь, это поможет другим, кто столкнулся с той же проблемой, что и я. Я позволил Xcode автоматически обновить мою раскадровку с ios6 до 7. Это вызвало много предупреждений, и я решил просто создать раскадровку с нуля, за исключением контроллера представления, который включал мою панель uisearchbar, потому что он был единственным без каких-либо предупреждений. Ну, это укусило меня во время выполнения, как описано выше.

Чтобы исправить это, я удалил панель поиска и удалил контроллер отображения поиска. Это желтый круг с чем-то вроде строки поиска в круге. Вы должны удалить его, иначе, если вы добавите панели поиска, вы получите кучу этих желтых кружков и можете ошибочно подключить не тот, на мой взгляд.

введите здесь описание изображения

Затем я подготовил панель поиска и подключил ее соответствующим образом, и вуаля, код снова заработал.

person Amro Younes    schedule 21.03.2014