TVanimationsGestures Пример кода Ошибка / странное поведение перекрывающихся ячеек - PullRequest
1 голос
/ 08 января 2012

Я пытаюсь реализовать хороший эффект аккордеона в моем приложении.Моя цель - «открыть» ячейку, когда пользователь нажмет на нее, добавляя дополнительный контент (например, текст) по мере увеличения высоты ячейки.Идеальным примером кода для этого является пример кода TableView Animations & Gestures, предоставленный Apple.Однако я испытываю странное поведение, которое разрушает весь эффект.

Похоже, что в зависимости от порядка, в котором табличное представление будет отображать свои ячейки (вверху -> снизу или снизу -> вверх), ячейкиtextviews будут накладываться друг на друга или нет.Как это трудно объяснить словом, так и здесь с изображениями.

Эти скриншоты были взяты из примера кода TVAnimationsGestures, без каких-либо изменений.Это происходит от первой версии примера кода без раскадровки:

Normal Behavior

Теперь версия с раскадровкой сначала вела себя хорошо, но через некоторое время, и я не трогал кодэто начало рисовать это:

Overlapping cells

И у меня есть точная проблема в моем обычае с моими пользовательскими ячейками.

Мне потребовалось некоторое время, чтобы понять, из-за чего, я думаю, возникла проблема.Если ячейки нарисованы от верхней ячейки до нижней, такой проблемы нет.Однако если ячейки нарисованы снизу вверх, они будут складываться в обратном направлении и, следовательно, перекрывать друг друга.Я не думаю, что можно контролировать это поведение.Что подсказало мне, так это то, что когда я прокручиваю вниз, заставляя верхнюю ячейку перерисовываться, они на самом деле красиво перерисовываются, и экран выглядит так:

Mixture

Смесьперекрывающиеся ячейки и «хорошие» ячейки.

Опять же, все это происходит непосредственно из примера кода Apple, без каких-либо изменений.Кто-нибудь знает, что происходит?

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 20 марта 2012

Вы можете увеличить высоту ячейки, нажав на ячейку.

...