2015-10-21 4 views
0

У меня есть таблицаView, где каждая ячейка запускает модальный вид (это планировщик путешествий, таблица используется для выбора источника и адресата).UITableview не реагирует сразу на выбор ячейки

После выбора адреса модаль отклоняется и пользователь возвращается в таблицу. Однако, если я сразу же выберет ячейку, событие не будет распознано, мне нужно подождать несколько секунд.

Я проверил, что не должны вызыватьсяHighlightCellAtIndexPath или didSelectCellAtIndexPath.

После проверки других вопросов, здесь я также попытался установить delaysContentTouches ложь (для Tableview и встроенного Scrollview см UIButton not showing highlight on tap in iOS7)

ли кто-нибудь знает, как я могу сделать Tableview реагировать на отбор сразу? Задержка достаточно длинная, чтобы раздражать пользователей.

+1

Вы отклоняете этот модальный вид с анимированным = true? –

+0

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

+0

Ваш первый комментарий был ключевой проблемой здесь. Таблица была невосприимчивой, в то время как модальная была уволена. Я предполагаю, что это не то, что я могу изменить, поэтому я удалил анимацию, и все снова хорошо работает :) – mlidal

ответ

0

Прежде всего, при нажатии на UITableViewCell делегат, получивший вызов, является didSelectRowAtIndexPath. Это срабатывает мгновенно - всегда!

Я предполагаю, что вы делаете некоторые сети в своем основном потоке при нажатии на ячейку, а затем представляете новый экран с этими данными. Это заставит пользовательский интерфейс выглядеть отложенным и невосприимчивым. Пожалуйста, дважды проверьте и убедитесь, что все материалы, отличные от UI, которые не требуют основного потока, идут в параллельном потоке.

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