Хорошо, это странно, и я могу легко воспроизвести его с помощью нового проекта.UINavigationBar не отвечает после отмены поиска UITableView в контроллере nav в панели вкладок в popover
Вот настройка:
У меня есть UISplitViewController. В левой части у меня есть UITabBarController. В этом контроллере панели вкладок есть два UINavigationControllers. В контроллерах навигации у меня есть UITableViewControllers. В этих табличных представлениях есть строки поиска.
Хорошо, что происходит с этой настройкой, так это то, что если я в портретном режиме и открою этот вид в popover, и я начну поиск в одном из представлений таблицы и отмените его, панель навигации перестанет реагировать. То есть, кнопка «назад», а также правая боковая кнопка не могут быть нажаты.
Если я делаю то же самое в ландшафтном режиме, чтобы мы не находились в попкорде, этого не происходит. Навигационная панель остается отзывчивой.
Таким образом, проблема, похоже, происходит внутри popover.
Я также заметил, что если я выполняю поиск, но нажимаю на элемент в результатах поиска, который в конечном итоге загружает что-то в «подробный вид» разделенного вида и отклоняет popover, а затем возвращается к затем нажмите кнопку «Отмена» для поиска, панель навигации реагирует.
Мое приложение является универсальным приложением и использует один и тот же контроллер панели вкладок в интерфейсе iPhone и работает там без этой проблемы.
Как я уже упоминал выше, я могу легко воспроизвести это с помощью нового проекта. Вот шаги, если вы хотите попробовать это сами:
начать новый проект - Разделить
создать новый класс UITableViewController (я назвал TableViewController)
раскомментируйте вне viewDidLoad, а также строку rightBarButtonItem в viewDidLoad (так что у нас будет кнопка Edit на панели навигации)
ввести любые значения, которые вы хотите вернуться из numberOfSectioinsInTableView и методы numberOfRowsInSection
открытого MainWindow.XIB и сделайте следующее:
Обратите внимание, что вам необходимо будет просмотр XIB в среднем «режиме просмотра», так что вы можете расширить содержание пунктов
перетащить панель вкладок контроллер в XIb заменить деталь Навигационный контроллер
перетащить навигационная контроллер в XIb в качестве другого элемента под Tab Bar Controller
удаляемых двух других контроллеров зрения, что re под контроллером панели вкладок (так что теперь на нашей панели вкладок имеется только один навигационный контроллер)
Внутри контроллера навигации перетащите контроллер табличного представления и используйте его для замены контроллера просмотра (Root View Controller))
изменить класс новой таблицы View Controller для класса, созданный выше (TableViewController для меня)
дважды нажмите на Table View в соответствии с новой таблице View Controller, чтобы открыть его (будет отображается на панели вкладок внутри контроллера с раздельным просмотром)
перетащить «Поисковая панель и поиск Дисплей» на табличном
сохранить XIB
запустить проект в симуляторе
в то время как в портретном режиме, нажмите на список корневых кнопка для вызова popover
уведомление кнопка «Редактировать» доступна для контакта
не
нажмите кнопку Отмена для выхода из режима поиска
уведомление кнопку Edit больше не работает
нажмите в поле поиска - мы входим в режим поиска
Итак, может ли кто-нибудь помочь мне разобраться, почему это происходит?
Спасибо,
Марк