UISegmentedControl делает UITableView медленным / запаздывающим? - PullRequest
0 голосов
/ 18 февраля 2010

Итак, у меня есть хорошо работающий UITableView, состоящий из 3 строк (каждая из которых включает в себя и изображение, и различное количество текстовых полей).

Теперь у 4-й строки есть UISegmentedControl.Как только я его добавил, UITableView запаздывает / прыгает / пропускает.Когда я убираю это снова, все гладко.

Как я могу добавить UISegmentedControl и все еще иметь плавную прокрутку?

Ответы [ 2 ]

1 голос
/ 22 апреля 2013

У меня была похожая проблема. Из-за бизнес-логики мое приложение должно обновлять ячейки с интервалом в несколько секунд. Каждая ячейка имела сегментированный элемент управления, и я удалял все сегменты и добавлял их снова для каждого обновления. Через некоторое время прокрутка становится невероятно медленной. Я решил проблему удаления / добавления сегментов, только когда это было действительно необходимо, вместо того, чтобы делать это для каждого обновления. Также я использую "dequeueReusableCellWithIdentifier". Сейчас работает нормально.

1 голос
/ 27 марта 2010

Была похожая проблема. После того, как сегментированный элемент управления выходит из поля зрения, прокрутка назад становится прерывистой. Проблема может быть в инициализации.

Сначала проверьте, правильно ли вы используете "dequeueReusableCellWithIdentifier" (может быть, вы упустили возможность присвоить вашей пользовательской ячейке уникальный идентификатор?)

Вторая проверка, если вы не делаете removeAllSegments и insertSegmentWithTitle каждый раз в cellForRowAtIndexPath. Добавьте некоторое int в свою пользовательскую ячейку, чтобы сообщить вам, является ли она новой или повторно используемой ячейкой с определенным числом сегментов. Затем после «dequeueReusableCellWithIdentifier», если ячейка имеет точное количество сегментов, очистка и добавление не требуются.

В моем случае я проверил первое, но не второе, что сделало мою задержку прокрутки. Похоже, что очистка и добавление сегмента является дорогостоящей операцией.

Надеюсь, это поможет.

...