UIPickerView медленно реагирует, когда происходит много рендеринга - PullRequest
1 голос
/ 10 ноября 2010

У меня есть UIPickerView, который появляется в UIPopoverController поверх представления графика. Когда графическое представление статично (не отображает входящие данные), тогда UIPickerView очень отзывчив. Однако при составлении графика входящих данных UIPickerView очень не отвечает.

Внутри UIPopoverController находится мой MeasurementViewController (который позволяет пользователю изменять измерения, нанесенные на график вдоль одной из осей графика). MeasurementViewController имеет кнопку «Готово» и UIPickerView.

Что странно, так это то, что я выбираю компонент из строки в средстве выбора и затем нажимаю «Готово». Но когда я регистрирую эти вызовы, я вижу -doneAction: вызывается задолго до вызова -pickerView:

Не препятствует ли отзывчивость UIPickerView рендерингом (OpenGL-ES) в представлении позади него?

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Похоже, да. Возможно, вы захотите приостановить построение графиков (возможно, затемнение самого графика), пока у вас открыт поповер. Я бы предположил, что причина, по которой ваш -pickerView:didSelectRow:inComponent: не вызывается сразу же, заключается в анимированном замедлении / выравнивании, которое делает представление выбора - оно, вероятно, не вызывает метод делегата, пока не установится в строке, что, если он запаздывает, это может произойти через некоторое время после нажатия кнопки «Готово» (которая мгновенно реагирует на прикосновение).

0 голосов
/ 06 июля 2011

Для тех, кто ищет проблемы с обновлением UIPickerView, мой вопрос (и код) может быть вам полезен:1004 *

...