2016-04-09 3 views
0

У меня есть ViewController с UISearchController внутри (с учетом таблицы на нем) я добавил эту линию на didSelectRowAtIndexPath::.`dismissViewControllerAnimated: завершение:» увольняет клавиатуры и не VC

[self dismissViewControllerAnimated:YES completion:nil]; 

По какой-то причине , то viewController не увольняют, а вместо этого, клавиатура увольняют (searchController становится неактивным), уволить viewController я должен повторно ячейку на столе (а затем didSelectRowAtIndexPath: вызывается дважды).

Любая идея, почему это происходит в г?

Спасибо!

+1

попробовать 'presentingViewController .dismissViewControllerAnimated (правда, заканчивания: ноль)' –

ответ

0

Это, вероятно, происходит потому, что UISearchController наследует от UIViewController, и поэтому диспетчер, уволенный в didSelectRow, фактически является контроллером поиска.

Возможно просто попробовать отклоняя дважды, так что она удаляет контроллер поиска с последующим пользовательского контроллера представления:?

[self dismissViewControllerAnimated:YES completion:nil]; 
[self dismissViewControllerAnimated:YES completion:nil]; 
+0

Это работает, но тогда анимация действительно быстро и выглядит плохо, как я могу установить задержку между первым увольнением на второй? –

+0

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

+0

Не могли бы вы попробовать только оживить второй увольнение? –

0

Попробуйте сначала отложить клавиатуру, а затем отклонить vc.

Смежные вопросы