У меня есть приложение на основе панели вкладок. На всех 5 вкладках есть контроллеры навигации с примерами настройки пользовательского контроллера просмотра в качестве контроллеров корневого представления. Это очень просто. Пара этих контроллеров представлений содержит представления таблиц. Я хочу показать пользователю modal view, когда они выбирают строку в представлении таблицы. (Соответствующая часть) метода didSelectRowAtIndexPath делегата выглядит следующим образом:Задержка при представлении контроллера модального вида
SampleSelectorViewController *sampleVC = [[SampleSelectorViewController alloc] init];
[self presentViewController:sampleVC animated:YES completion:NULL];
модального контроллер вид появляется, но он появляется после очень заметной задержки. Время от времени даже требуется, чтобы пользователь второй раз нажал на строку. Несколько вещей, которые я уже проверены, являются: метод didSelectRowAtIndexPath
- Просмотр таблицы, называется, когда пользователь вводит строку
- Метод didSelectRowAtIndexPath не содержит каких-либо блокирующие вызовы. Операции сети не выполняются, и настройка контроллера модального просмотра не требует какой-либо интенсивной обработки. Отображаемые данные являются статическими.
- Если я нажму новый контроллер просмотра в стек навигации (все остальное останется точно таким же), он будет вести себя отлично без каких-либо задержек. Только при условии, что встречаются задержки.
Любые идеи/предложения?
Из интереса, это так же медленно с 'анимационного: NO' ? – pbasdf
Это так. Кажется, что анимация не влияет на это странное поведение. –
интересный.У меня та же проблема, что модальная презентация задерживается (или нужно нажать экран, чтобы он появился). в моем случае, это не напрямую, а косвенно вызвано didSelectRowAtIndexPath. который вызывает методы делегата, который вызывает метод делегирования, который представляет модально. hmm .. –