Я создаю приложение для словаря. По сути, это приложение панели вкладок: одна вкладка используется для поиска в словаре, а другие вкладки - для страниц грамматики и т. Д.
Вверху вкладки поиска по словарю имеется UISearchBar, а внизу - UITableView, в котором результаты отображаются в качестве пользовательских типов в поисковом запросе.
Когда пользователь нажимает на строку в результатах, я хочу открыть подробный вид, отображающий полную словарную запись. Насколько я понимаю, было бы лучше, если бы сверху была навигационная панель с кнопкой возврата, чтобы вернуться к поиску.
Я создал для этого новый контроллер представления и поместил панель навигации и текстовое представление в файл пера. Однако я не могу сделать так, чтобы кнопка «Назад» появлялась в Интерфейсном Разработчике, и это не произойдет автоматически позже.
Чтобы появился новый вид, я использую следующий код:
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
dictEntryViewController *entryView = [[dictEntryViewController alloc]
initWithNibName:@"dictEntryViewController" bundle:nil];
[self presentModalViewController:entryView animated:YES];
}
Этот новый вид прекрасно скользит, но на панели навигации нет кнопки возврата. В качестве временного решения я создал обычную кнопку в новом представлении, которая в основном делает это:
[self dismissModalViewControllerAnimated:YES];
... и это хорошо работает, но я думаю, что было бы более естественно использовать навигационную панель для навигации.
У меня такое чувство, что моя проблема в том, что кнопки назад появляются только тогда, когда вы перемещаете новый вид в существующий, где оба вида имеют общий контроллер навигации. Однако я не могу добавить панель навигации в окно поиска, потому что эта часть экрана уже занята панелью поиска.
Возможно, мне не следует использовать контроллер модального представления для этого, но, похоже, он работает хорошо, и когда я попробовал некоторые альтернативы (например, pushViewController), он также не позволил появиться кнопке возврата.
Буду признателен за вашу помощь в этом вопросе. Я долго искал решение, но большинство решений, похоже, включают добавление панели навигации в верхней части табличного представления, что я не могу сделать в этом случае.