Не удается выдвинуть контроллер представления из делегата UISearchDisplayController - PullRequest
2 голосов
/ 23 ноября 2010

Я создал UISearchDisplayController, который использует отдельный UITableViewController в качестве делегата для отображения результатов поиска. В этом контроллере представления у меня есть метод didSelectRowAtIndexPath, который выделяет и инициализирует detailViewController, а затем использует:

[[self navigationController] pushViewController: detailViewController animated: YES];

чтобы положить его в стек. Однако эта строка не работает. При постукивании ячейки ничего не происходит. 'didSelectRowAtIndexPath' вызывается, но вызов метода pushViewController не работает. Разве я больше не в контексте моего навигационного контроллера? Как я могу решить эту проблему?

Любая помощь будет высоко ценится.

1 Ответ

3 голосов
/ 23 ноября 2010

Навигационный контроллер вашей таблицы, вероятно, неправильный, я думаю, что вы, возможно, захотите вставить его в навигационный контроллер вашего UISearchDisplayController. Для этого вы можете создать протокол в вашем контроллере таблиц, например, с помощью метода «pushViewController», и сделать так, чтобы UISearchDisplayController реализовал его.

Затем вы регистрируете этого делегата в своем табличном представлении, и вы вызываете своего делегата на pushViewcontroller в вашем 'didSelectRowAtIndexPath'

...