Твердый пример расширяющейся / аккордеонной таблицы с нужным фоновым изображением - PullRequest
2 голосов
/ 21 февраля 2012

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

Ячейка таблицы аккордеона - Как динамически расширяться/ contract uitableviewcell? - это одно из наиболее перспективных сообщений, но я подозреваю, что оно работает только при использовании ярлыков, а не обязательно фонового изображения.Многие другие сайты также придерживаются этой же концепции.

Вот что я сделал:

Я попытался добавить одно большое (расширенное) изображение в contentView ячейки, а затем настроить его размер в layoutSubviews, но изменение происходит мгновенно, поэтому анимация отсутствует.

Я попытался добавить два изображения (свернутые и развернутые) в contentView ячейки, а затем установить их скрытыми и видимыми в зависимости от ситуации, когда setSelected: animated: isвызывается, но расширенные ячейки при анимации могут быть четко видны над другими ячейками.

Я также пытался установить для contentView ячеек clipTobounds значение YES, но, похоже, ничего не происходит.

Потратив на это почти 3 дня, у меня возникает искушение создать подкласс UIScrollView и создать собственное представление таблицы, или, возможно, сделать 2 версии каждой ячейки, но я надеюсь, что не нужно будет заходить так далеко.

Может ли кто-нибудь опубликовать ПОЛНЫЙ пример подкласса UITableViewCell, который может разворачиваться и сворачиваться, с фоновым изображением, которое оживляет и не делаетперекрывать другие ячейки?

1 Ответ

0 голосов
/ 21 февраля 2012

Оказывается, использование clipToBounds было правильным способом в конце концов. Вместо того, чтобы делать это в методе init, его нужно установить в layoutSubviews.

Затем динамически изменяйте кадры вида ячейки в соответствии с высотой ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...